Edward is amazing, but he's not perfect. That's what I love about him. He's so complex and conflicted. He has a tendency to over-react. He thinks he knows what's best for everyone (particuliarly Bella) just because he can read minds, but he so doesn't. He believes that vampires don't have souls, yet he thinks that Carlisle is the best person there is. How can you be a good person without a soul? One of the things I found most fascinating throughout the saga was Edward getting to know himself and come to terms with that.