What is an 80% solution? It's a technology approach that seems well conceived and when used with small demonstration applications (e.g., beta testing) works well. However, when the product is released and people begin using it in earnest to develop larger "real-world" applications, they end up hitting walls. The walls were always there. However, because the people involved in testing it weren't trying to actually develop "real-world" applications with it during the testing phase, the walls weren't discovered and addressed during the development of the technology. Or perhaps they were even surfaced by individual beta testers, but they never reached critical mass because not enough people recognized the looming problem.
Those 80% solutions also tend to remain 80% solutions because the development effort, particularly for new product versions, is more focused on providing new features than completing the implementation of existing ones. Unfortunately, that mind set is often encouraged if there are workarounds for the missing functionality, even if it requires a great deal of work or third-party utilities to implement something that really should have been part of the initial functionality. Instead, what we get is a new crop of 80% solutions.