It's always been a matter of formality for me, especially when I'm talking to people in person. I tend to use "you're welcome" towards older people, people I admire, or people who I don't know very well. On the other hand, I use "no problem" [or even just "yup"] when I'm talking casually among friends, or to my family, or other adults who I'm very comfortable around. Online, I normally use them both regardless of who I'm talking to, unless it's like... a business email, or something like that.
I don't care how others reply to me, though. "You're welcome" and "no problem" both practically mean the same thing. ¯\_(ツ)_/¯