Drupal has a pretty tall learning curve, it's better to know some of the more popular modules out there before jumping in and trying to build a site with it. Check out the lullabot video series (worth every penny) for a good primer. I picked these up and made my money back x10 on my first drupal site. Drupal does require a little pre planning but then again every project / application does, that being said you can add new modules anytime you want and remove them too (little more time required here). You don't need a ton of PHP knowledge almost anything you need to do with drupal already has a module written for it. Yes you can modify any of the existing modules as they're written in PHP, beware this takes a strong PHP knowledge most of the time. Good luck...