There is a difference between being nice and being a doormat. You can stick up for yourself and those you care about and still be nice. Maybe we need a few more stereotypes.
Nice Guy = Door Mat
Good Guy = Has a backbone but does the right thing, sometimes seems like a Door Mat
Tough Guy = Good guy behind a tough façade
Macho Guy = Bad ass
Some people want to be associated with winners at all costs. Some people would not mind if their spouse shakes people down or cons them to make a very good living as long as the are treated well and live a luxurious life. This is even more true if the shake downs and cons are legal. Not all that is legal is ethical. Some people think that ripping off suckers is to be respected.
Nice Guys and Good Guys get very little respect unless they are rich or famous. A Good Guy might get a little respect but if not rich or famous they mostly get sympathy, they won't get the girl, the girl might want a Good Guy but she needs someone who she can count on the support and protect her. Someone who, if needed, would do something bad to support and protect her. That is why a lot of good guys put up a Tough Guy (Bad Ass) façade.
These Nice Guys who complain that Nice Guys don't get the girl. They are whining door mats. Just the idea that you would look for sympathy, blame the women and whine publicly exposes their lack of backbone. That does not even count the fact that often they are not really Nice Guys, they are failed con men who play at being nice hoping to score. They should try a better con, being a little harder to get would improve their chances to score.
TEK