A framework is like an iceberg, that 10% floating above the water doesn't look dangerous, it's the hidden 90% that will eventually get you. Actually it's even more apt than that, learning a framework is like mapping an iceberg, in order to use the framework you need to learn the whole thing, apply the effort of mapping out the entire thing, and in the long run the process is pointless because the iceberg is going to melt anyway.

That quote perfectly sums up my feelings about frameworks. They require complete buy-in in order to reap the productivity benefits of said framework. Frameworks have a massive influence on program design, structure, and features. So much so that people confuse frameworks with languages e.g. Ruby and Rails.