Sorry if I offended anyone, but I still feel it's what I said, and it's probably like some others said too, I meant no insult to anyone here.
When a cashier says 'no problem' and then says 'have a good one' (and they almost always go together), it's only because they feel they must say something....even if they don't mean it. It's the shortest thing that they can say without completely ignoring you. There's hardly ever eye contact, they'll actually be looking elsewhere most of the time, no smile, or even an indication that you're still standing there. It's a sign that they do not want to be there and are only putting up with you, the customer.
You could have a machine handling whatever the clerk is doing with a recording speaking to you and experience a more friendly checkout.
That action from a cashier or clerk, or whatever is either due to:
1)laziness - just don't care
2) ignorance - never taught the proper way to interact with people by parents or how do the job properly
3) stupidity - can't grasp the concept.
I was basing my answer on the above scenario. I agree there are other reasons and scenarios where the phrase might be less annoying.(But still not the best response)
Sorry to upset a few of you.