Harvard professor turned Google engineer Matt Welsh has a great post on Do You Need a PhD?.
Doing a PhD is certainly not for everybody, and I do not recommend it for most people. However, I am really glad I got my PhD rather than just getting a job after finishing my Bachelor's. The number one reason is that I learned a hell of a lot doing the PhD, and most of the things I learned I would never get exposed to in a typical software engineering job. The process of doing a PhD trains you to do research: to read research papers, to run experiments, to write papers, to give talks. It also teaches you how to figure out what problem needs to be solved. You gain a very sophisticated technical background doing the PhD, and having your work subject to the intense scrutiny of the academic peer-review process -- not to mention your thesis committee.
In his essay, Welsh links to Matt Might's absolutely wonderful Illustrated Guide to a PhD. I remember seeing it sometime ago, and may have linked to it earlier, but it's worth another look!