There's only so much they can test before they release it. It's seeded to developers as well during the beta period, and they also test it and use it and report back bugs. But there's no way to get rid of everything.
Of course no software is going to be perfect. Nobody expects such a major update to have zero bugs. But the sheer number of bugs, and so many of them are so obvious (including ones that were reported months ago), it's hard to forgive apple for putting out an update that is so screwed up.
And dare I say it, with a new iPhone shipping, it really looks like apple put all their resources into the iPhone version and did the bare minimum of development and testing to the iPad side.