Don't Settle for a Nightmare
You are right that relationships are not some sort of Cinderella, prince-meets-girl-shoe-fits-happily-ever-after endeavors.
But relationships aren't supposed to be nightmares either.
He is Bad
Insensitive, cheap, materialistic, hurtful are not desirable qualities in a boyfriend. This man does not deserve to have a girlfriend like you. I suggest moving on and finding someone worthy.
Before getting involved with someone new, think about what you want from a relationship.
It sounds like you have some traditional views about dating he should pay for dinner, you bake cookies, he should open doors for you, etc. If these things are important to you, you may want to find someone traditional.
At the very least, be sure that you communicate that these things are important to you. If there's one thing I've learned about relationships, it's that you have to let the other person know what you want or you'll never get it!
I hope you find a healthy relationship and find out how nice it can be.