Test driven development is the next big fad in development methodologies (Waterfall, Extreme, Agile, etc...) It's definitly one way of doing things, but it isn't a comprehensive justification for unit testing.
Programming is about getting results and results are measured in Time to Production, Quality of Application and Cost to Produce. Every bug that makes it into production costs much more than a bug that is caught in code (especially for a well used application).
All forms of testing are an attempt to verify that things are working correctly before users actually hit the app. For a new application testing is less necessary, but as an application becomes more widely used, every change has the potential of messing something up (maybe something completely unrelated to the change itself).
So for a short "once and done" project unit testing may be overkill, although it might also help to ease nerves.
For a long term application that will be maintained over years and have a large user base, test now and test often. The more automated that testing is, the less time you'll have to spend poking through long forgotten features to make sure everything is still hunky dory.