I'm incredibly excited for JWST and thrilled that it didn't fall victim to the budget ax last year, but it is the poster-child for terrible management and cost overruns. When it launches, it will be a technical marvel and scientific triumph, but (much like the F-35 program) it has proven to be a drag on other science funding within NASA's budget. It was originally supposed to cost $1.5 billion and launch in 2010. Now it is estimated to cost $6.5 billion (with $8 billion budget cap) and is scheduled to launch in 2017 at the earliest. Regardless of the quality of the science or the mission at hand, this is no way to manage a project (i.e. start by deliberately low balling the cost and than suckle money for the project as it grows in size) and it doesn't help efforts like Penny4NASA when Congress sees behind schedule and over budget projects.
Not that there isn't some genuine bloat, but...
Has a JWST been built before? Ok, obviously not. So you're the guy who budgets it. You take some guesses -- pessimistic guesses, you think, but not too pessimistic (otherwise the project won't get funded at all!). And your guesses, surprise, turn out to be wrong.
This happens all the time in any sort of product planning. The estimation is based on the "happy path", "what it would take if everything went right", because humans are doing the planning, and humans are delusionally optimistic. The more realistic scenarios never hit the radar until they actually happen. There are even silly enterprise rules about this: I work as a software engineer, and my boss once said it was his general practice to multiply all his subordinate engineers' time estimates for how long something was going to take by a certain number. (He didn't tell me the number.)
As a general rule: pushing boundaries == going over budget. Budget can be time, or money, or both. This is expected, and almost always worth it anyway, because
progress is worth it.