People have brought up the "M" word: morality.
To me, it's pretty simple. If what you're doing doesn't hurt anyone, it's fine. If someone is hurt by your actions, it is wrong. Obviously there's lots of grey area, and definitions can slide, but that's the basic idea. "Hurt" can mean "cost someone money" or "inconvenienced someone". In my first example, where carts were left in a perfectly good parking space, rendering it unusable, that inconveniences other people, who then have to park further away. It's not a huge inconvenience, and most people could probably use the exercise, but that's not the point. I would argue that leaving your carts in a space like that is objectively wrong because it inconveniences others. If you do that, on purpose, you're an asshole.
Carts left out in the middle of the lot someplace where they might roll and damage cars is a grey area. They might cause an issue, but have not actually done so. If they're not hurting anything, no problem, right? It's not a problem until one of them cuts loose and actually does ding someone's car, and one could argue that creating the situation where it might happen is therefore a bad choice. But I have no rule against people making bad choices as long as no one's hurt. But the one that nearly hit me and made me slam on my brakes was, until that moment, "innocent". Then it inconvenienced me, making it (and the person who left it) "guilty" in my eyes.
Also, if there are so many stray carts in the lot that I have to weave in and out of them to get to a spot, now I'm being inconvenienced, and that's a problem. TAC would say that that's the store's responsibility, and he's absolutely right. The problem is that people know damned well that the store cannot possibly get to every stray cart as soon as it is abandoned. They are therefore knowingly creating a hazard. Is knowingly creating a situation in which people could be hurt or inconvenienced wrong, or is it only wrong if people actually are hurt or inconvenienced? That's the grey area. If it's up to me, I avoid such situations. Leaving that pan of lasagna hanging over the edge of the counter isn't hurting anyone either, but if someone bumps it and the whole thing hits the floor, I don't blame the person who bumped it, I blame the idiot who left it where it was a potential hazard.
Hmmm... I think I just cleared up some of the grey area, for me anyway. Don't cause problems for other people, and don't even cause potential problems for other people? For some, that's going too far, because the act of avoiding every situation will itself inconvenience the person making the choice. "Why should I always have to ______ just because somebody might _______?" I don't know, common courtesy maybe?