They develop these gland things, ... then BWOOSH!
I'm lucky, I get to be a dick to my girlfriend. She is a big, big girl, but she makes me happy when I'm around her. She might just be settling for a dick because she thinks she can't get anything better, but I make her feel loved. She can handle a dick. She hates when I gripe about spending money, but then again I have a good credit rating and she doesn't, and she has outstanding bills while I'm paid up in full., so I get to complain about spending money. But then I spend more on her because I love her. I haven't made any money in 2 months!
The point is, what do you DO for your gf? You can be a total dick and a girl will find it charming if you make her feel loved enough the rest of the time.
You also need to work on tact. Calling a girl's hair plain is like calling her ass big or boobs small. A lot of guys can get away with that because they have tact. Your girl probably does more with her hair than you realize, so you basically told her she doesn't do enough. You have to turn it into a game or medical concern.
If it's some aspect of her you don't like, amorous jesting can help you cope with it if done right. For example, if a girl has a huge, ugly ass - spank it, say something like, "look at that big ass," and growl, then go down and bite it. Do that enough times and you'll start to like that big ass. Or play with her love-handles and call them YOUR love-handles. But if it's something like that and it really bothers you, tell her you aren't really into girls with those attributes but you love her too much to let it get between her and your heart. (careful though, that's a hard one to pull off).
Have more sex, too, but not as a routine. If you do it often, do it less often but don't ignore her. My girl and I do it twice a month in a hotel, occasionally though I get her off in the car to keep her primed. I had great sex every day with my last serious girlfriend, but I'm happier with plain bimonthly sex with my current gal and she looks forward to our hotel excursions.
Part of that could just be our age. My last serious gf was 22, this one now is 33. (Im 34, by the way.) That's a huge difference in age. The 22 yr old was way mire immature than any girl I've been with and one of the things I decided was to not go after young girls anymore even though they are so fun in the sack. Granted, some girls act like women and some women act like girls, but generally before 26 they are immature. Girls like that don't understand men because they lack the experience, just like you lack experience with girls. If your issue is just age and experience, about all you can do is ride it out or flirt with other girls. Don't dump her unless you find someone that actually makes you happier, but neither of you are going to grow interrelationally together on your own unless you both make efforts.
And if she's pretty, she already has 2 or 3 guys ready to snatch her up, while you wouldn't have any prospects because you are damaged goods. Even my gal has guys wanting to snag her from me, so yours would definitely have no problem finding another guy. That's why I say don't dump her, but flirt under the radar if you are going to spread your wings.