T4 suffers from several problems:
1) John Connor. His scenes are really rather pointless, at least until Marcus reaches him. CHUD has a report on the original script before Bale's requested rewrites, and Connor is only in the last 10 minutes or so of the film - his voice is heard on the radio by Reese and Marcus, and when he "interrogates" Marcus he does so via intercom. He's the one on the sub the entire time, so no one ever really sees him.
2) On-the-fly rewrites. After Bale joined the cast, initially as Marcus, he decided he wanted to be John Connor instead, but wanted more than 10 minutes of screen time. So all his scenes were added in, as well as the subplot of the signal that stops the machines (which makes little sense to me).
3) Using Reese as bait to draw out Connor. If it were me, I would have just had Reese be captured like the others, and put to work as he describes in T1. Marcus then decides to go get him, etc. etc. But the whole bait thing was just ... um ... stupid.
4) The ending. I'm apparently one of the few that would have been just fine with the original ending - Connor dies, and since he's been living on the sub and no one has seen his face except those on the sub, they replace Marcus' skin with Connor's, so now Marcus is Connor. The ending was leaked, people freaked out, and they changed it to the "heart transplant" ending.
5) The T-800. There's no reason whatsoever for the T-800 to be in this film. Especially the way they CG'd Arnold's face onto the other dude's body. And for fuck's sake, they don't all have to look like Arnold! He's model 101. They showed a different model T-800 in T1 in Reese's flashback, and he looked nothing like Arnold.
All in all, though, it was better than T3, but pales in comparison to T1 and T2.
And yeah, Anton Yelchin was awesome as Reese.
A T4 that focused on Reese would have been the way to go, but Bale had to weild his ungodly mega-star power and force rewrites.
That's not to say the original script was amazing - there was the whole "Project Angel" thing ...
--edit--
Here's the CHUD article that details the original script.