I was seen as a great worker, because I worked when I was supposed to, but I had a terrible time getting promoted. No one at my particular station was getting promoted, so I assumed it was just a long process. The gas station was also hiring a lot of managers from outside the company - people who had more lucrative and prestigious jobs, which were the casualties of the recession.
One day, though, a new, young, single-mother started with the same job (associate) I had, and I watched her get promoted within a month or two. She was a fine worker, nothing wrong with her, but she was not a better worker than I was.
I do think that being a single mom expedited her promotion. You couldn't talk to her for more than a minute without learning her backstory and hearing about how much she loves her son. I think management saw her as an easy person to root for, and I can't really fault them for that. But, she also played the game much better than I did. When she worked, you knew she was working. In subtle and not-so-subtle ways, she'd make sure everyone knew how much she was busting her ass. At the time, being young and naive, I thought it was extremely distasteful and painfully corny. I didn't understand the concept that management really only pays attention when you give them reason to. Either you're fucking up or fucking off, and they need to correct you; or you're shining your own spotlight on what you've done and how impressive it is. Only experienced and thoughtful managers will properly value good workers who don't make a show of it.
She was also more gregarious than I was, and it'd be disingenuous to share this anecdote without noting that. I think it's part of my bigger point, though. I wanted to make more money so that I could live more comfortably, but she needed to, and the ways we played the game reflected that.