Since I've used the term twice on Waygook today, I'll go ahead and defend myself. 'My bad' is a common colloquialism used by people from various walks of life from the greater Dallas area as well as several other placed I've lived. Why shouldn't I use the term in casual conversation? We use language appropriate to our upbringing. For example, I would never say "I have been teaching here for 7 years and have been hearing..." It isn't the way i learned to write. I would substitute "I've" in the first instance so as not to use repetitive language. However, since that is cultural and personal preference, it doesn't bother me when I notice someone else doing otherwise. The same with 'Cheers.' It's not familiar to me, but why gripe about it. I have non-American friends so I respect their greetings.
On the other hand, I don't teach 'my bad' in class. My students have no concept of the propriety of extremely casual language, and I prefer teach them language that is useful in many settings. What does shock me is the frequent incorrect use of simple English that pops up on teacher forums so often.
That was long, but a short answer would have been a bit less civil.