LONG POST BUT PLEASE READ
I completely agree. First of all MJ is a very insecure woman('cause of her dad) and every decision she takes is from that mindset. Realize how she always dates men of power or some sort of high status: Flash was the popular guy of HS, Harry was rich, James was rich and somewhat famous, etc. She did it because she was seeking validation from her father and herself.
The reason she fell in love with Peter in the first place is because he is the only one who made her feel worthy beyond her looks which was something completely new for her.
Those type of things actually happen in real life.
In Spider-Man 3 she became even more insecure when she was fired(she felt exactly like her father used to make her feel) and Peter was becoming 'successful', she thought Peter might not think her "worthy" anymore which showcased her low self-esteem. You can notice all of this by paying attention to all her scenes, its actually there! lol
I haven't read the comics but from what I've read about her character the only thing that was missing in her character was the "party girl act", MJ is supposed to present herself as a fun, cocky and seductive woman to hide her insecurity and this never came across in the movies unfortunately because that would have made her an extremely compelling character but for the most part the writing of her character and Dunst' performance were really good. In fact she's probably one of the most compelling female characters in superhero movies along with Pepper Potts in Iron Man.
--------------------
Also, I don't get why so many people like Gwen. Other than the fact that she's played by Emma Stone, there is nothing to her as a character. She's smart, hot, humble, nice, etc. But what are her flaws as a person? Yeah she doesn't have any!! Sure everyone would want a woman like that but the thing is, women like that don't exist!!! She's just the love interest of the movie, her only purpose in the movies is to be there to help her man(Peter). The only reason I mention Gwen is because the notion of MJ being a terrible character exists because people think Gwen is a better character and has the better romance which isn't true for the reasons above.