On the php|architect blog there's a new post from Cal Evans (of Ibuildings) with what he thinks is one of the largest reasons that frameworks aren't as well-adopted as they should be - arrogance.
Developers are notoriously self-confident in their ability to write code that is better, faster, cleaner and better-smelling than everybody else's. In today's environment, however, the focus is on producing immediately useful codeâ€”and, given the richness of today's frameworks, those who eschew them in favour of home-grown solutions are forever running the risk of reinventing the wheel for no good reason. We have enough wheelsâ€”start building some cars.
He suggests that, with all of the "reinventing the wheel" that's been going on and overpowering frameworks that are out there, that developers need to take a step back and find a framework that fits for them. Coding from scratch (usually) isn't a good option - there's almost always a framework or application based on one out there that'll fit with just what you need.
Pick a framework that has a thriving community and then spend the time to learn it. Quit re-inventing the wheel, start using the wheel to solve your client's problems. Get out there and build them a car.