- You are immortal, and therefore, will always be around to help other developers understand and extend your code.
- You have no life, and therefore, don’t mind spending all of your free time writing code comments and documentation that would already be written in a good framework, so other developers after you (or with you) can also write code for your app(s).
- You are coding an app that will be one of the most visited sites on the web (all by your self and for eternity if #1 and #2 are true), and therefore, can justify the potential nanoseconds saved by not having the “overhead” of a framework.
- You are a web security god and are way smarter than the collective group of developers who code and test good frameworks for security issues.
- You want to spend all of your time re-inventing the wheel by writing your own RESTful routing implementation, ORM, templating engine, etc. etc. instead of what a good framework provides. Or maybe you skip the ORM part and just re-write larges parts of the app when you need to switch DB engines.
- You don’t do “deadlines”.
If these reasons don’t apply to you, I recommend checking out Laravel, or better yet, the Laravel 4 beta.