I have encountered this multiple times from my job setting to conversing with others. Some people have strong feelings about which one should be said because of formality or maybe they were just raised to always say "you're welcome".

Others that I talk to like to correct me when I say "no problem" and it bothers me a bit when it is done. This happens more often when I work and its typically those that are much older than me. These people often like to say "you have to say you're welcome" or there has been an instance where I served an older gentleman that barked back "stop using slang". To be honest, there are people that harshly downplay my niceness and then insult the way I use language. How wonderful, right?

I understand there are differences where each can be said and to whom but I have caught myself explaining to others why I choose to say "no problem" instead of "you're welcome" more often than not. When I say "no problem" its because there was no trouble to me or the extra effort that I put into it was not a problem for me. Whatever I did to help someone else and any inconvenience that it may have been for me was not a problem. Or you can also put it in terms of, it did not cause me any trouble to do this extra thing for the benefit of yourself. In short, there was no harm done.

Now that I feel like I explained myself, there should be no more questions as to why I use one over the other. It is a matter of preference. If you feel like one is more polite than the other with your tone then go for it. Say and do what you feel is right.