Both technology, has it's own potential, in their area. First I will brief about the both technology, and what is their area.
Drupal:This is one of the strongest tool built for php developer. It comes with it's own code base(file & folders) and database. Not only that there are 15,993 third party modules(Free), 1,374 Themes(UI). So basically, Drupal is built with all the generic features which almost 70% web applications requires. Features like user accounts, roles, permissions, Admin CRUD, Generic report.
- Development becomes very fast, since instead of writing code developer assembles drupal modules.
- Lot of features are already developed, it has a very active community, available for support.
- It is CMS cum Framework, so when require we can write our own custom module also.
- It has its certain core area (codebase & DB), that is not changeable.
- Even though, one can develop custom modules, but it has to follow drupal standard, which ultimately make a boundary for developer.
When to use drupal
- When we know we are going to build a generic web applications. Where things are straight forward.
- Client requirement are not stiff. Client is ready to accept our suggestions.
- When we need to make process fast.
When not use drupal
- When your requirement may break the drupal core system.
- When client is more cautious about the quality, rather than time or budget
- When you don't have right resource
PHP, is the Father of Drupal, and Father is always bigger than child :). What ever we can do with drupal, i.e. also available here, with unlimited freedom. This is pretty similar to command line of any operating system(like linux) and it's GUI alternative.
- Here since you start from scratch, you can plan your core DB & code base. From here your freedom starts.
- PHP also has its own very robust, mature community. these people don't write their contribution in a standard module. but they talk and write in some CMS or framework in which they are good. So you get support but nothing like plug n play module.
- As you are free to work in PHP, at the same time if you can google, and find(not guaranteed) something already written, and same(if not exactly then 80% same) as your project would be.
- Resources are easily available.
- Compare to drupal, only thing which is lacking here is, some time for small thing. it takes too much time.
When to go with PHP
- When your application is using multiple technology.
- Client requirement contains lot of exclusive things. Like some client want to set a new trend with their application. Some time they want to beat Facebook, twitter and even google also :).
- When Your client use words, like pixel perfect, it should be in professional way or It's a common web standard, etc.
When to not go with PHP
- When Client asks suggestion from you, and you know you can mould in your way.
- In your application, there is nothing like you invent something from zero.