The relatively short history of the Internet is littered with bad ideas and good ideas that were poorly executed. U
nfortunately, bad design or execution is never a guarantee of failure. Otherwise, we would never have had to deal with VeriSign's SiteFinder, CSS, or Lotus Notes.
The best among us will always aim for the optimal outcome of any project, technology, or framework, given the obstacles in play at the time. This usually means compromise and invention in order to deliver a functional result in a suitable timeframe.