It's important when you have a large project and 5+ developers and DBAs. A good PM can let the developers concentrate on code and forget the client exists apart from the requirements that come their way. A bad PM can just make matters worse.
I always tell my developers that I eat sh*t so that they don't have to. A good PM runs interference, controls scope, makes sure that resources are there when the developers need them, handles the petty communications with users and yes, keeps the project on budget and on schedule. A PM will keep his eye on the big picture while the developer is concentrating on details.