The worst part is how we can easily point out the parts in D3's unfolding story where they went wrong. It's not one of those "I can't quite put my finger on it, it's just plain bad" cases, this is a matter of us knowing exactly where they got it wrong. What makes it bad is the fact that they could have easily avoided it, had they paid closer attention.
Anyways, here's my main gripe:
As others have pointed out, the whole 'twisting of the mustache while divulging the evil plot, then the whole shacking of fist because they could have gotten away with it if your Scooby gang hadn't interfered' schtick is just terrible writing. Remember in D2 when we were on the trail of the Wandered, and as we were preparing to face Baal Duriel popped out. Now that was a an epic twist. And I remember when I first got to Mephisto, I crapped myself because his reputation preceded him, his presence was felt all throughout the act without him constantly trying to convince me how bad ass he is.
The point was for Blizzard to let you feel the strength of the bosses. As they say in literature: show, don't tell. D3 was an excruciating exercise in telling.
The Butcher was fine, but from there it fell apart.
Belial is supposed to be a liar and manipulator, but his entire act was paper thin. I don't know if Blizzard imagines that they're making games for kids who'll be put off by complex plots, or if they just think we are dumb, but come on. If your hero couldn't point at Prince Hakan by the time you went into the sewers, then Sanctuary must be filled with gullible idiots if this eluded them. Act 2 should have been a complex "whodunit" story, where you couldn't trust anyone, and even started suspecting your own allies.
Azmodan, as everyone else point out by now, must be hell's most incompetent general. His best strategy seems to be a zerg rush, throw as many demons at said keep and look on in dumbfounded idiocy as you hope the walls crumble under the sheer weight of the army's numbers and the weight of his own stupidity. Act 3 should have been about tactics and trying to outsmart him, but failing, not you having to mop up wherever you're needed. No, it should have been you fighting the best way you can, but Azmodan always being a step ahead. By the end of the act you should have been Bastion Keep at the end of its ropes. Then you make a mad dash towards Azmodan, hoping to sever the head off the beast because you realize you can't outmaneuver Azmodan and as such only a mad, all-out rush is the only way to win.
Diablo, proved so sad in the end, it just mad heaven look pathetic. Iskatu, Rakanoth, Izual, these were the guys responsible for bringing the angelic host to its knees. Now I know the PC is a Nephalem, but come on. You single-handedly take out the force that beat the angels? How did the High Heavens wage the eternal war, exactly? There should have been more camaraderie between you and the sympathizing angels. Why didn't Act 4 get its own town? That was just lazy, real lazy, Blizzard. How about a High Heaven outpost where they could have clued you in and created a sense of resistance to the player. Iskatu, Rakanoth and Izual should also have been given a bit more of a presence, make them "worthy" of being hell's champions berating Heaven's best. And Diablo was just ... meh. The breaking the seals part in D2 had a great impact in setting up the magnitude of Diablo. In D3 they should have had a similar opening. Many you having to activate angelic braziers that would have blocked some of Diablo's influence in Heaven, which in turn anger him enough to turn his ire onto you. And less talking! Why pause mid fight to give an speech about his feelings and explain how angry he is. Again, show, don't tell.
Now as for the minor players that annoyed me:
Zoltan Kulle did not phase me the first play through. However, after consecutive play throughs it saddened me more and more just how they missed a great opportunity here. The idea was simple, take a character with a sense of purpose, who knows his Nephalem heritage and wants to claim his right. He basically mirrors the PC in a startling way, which is supposed to let the players reflect on their own choices and what defines them and makes them worthy heroes. Instead we get a guy who is just an a-hole with a maniacal laugh, you can practically envision Kulle rubbing his hands together with an evil Jafar grin. It seems that Blizzard wanted a deep character to show how Nephalem power can lure you, but instead they just gave us a corny loon.
Maghda is just perplexing, she doesn't even feel like a natural fit in a Daiblo game. The insect concept could have worked, but the moth headress and wings was just an odd design. What feel were they going for? Was she supposed to look timid, thereby giving you a false sense of security? When she killed Cain it just felt desperate. They had one of the most rediculous characters kill the cornerstone character of the Diablo series, probably in a bid to convince the player that she may look silly, but actually she is vicious. And when players lashed out they were probably confused. No, she just doesn't make sense, and it made Cain's death feel invalidated and unworthy. If they wanted Cain to have impact, then the killer should have been a force to be reckoned with. And when Maghda was supposed to have an insect design, they should have chosen more threatening qualities and made her feel like more of a threat than an annoyance.