The real question is whether your roommate's actually gonna use it consistently or if it'll end up in the back of the cabinet. UV-C does work on the bacteria and viruses themselves - that part's legit science. The light damages their genetic material so they can't replicate, basically frying them at a cellular level. But there's a catch: it only kills what the light actually reaches. If your water's murky or full of sediment, particles can shield microbes from the UV rays, so you're not getting the full effect.
The bottles that work best are the ones where water sits in a chamber long enough for the light to do its job, not the ones where you just press a button and call it done. Most of them need a few minutes of exposure to be effective. Also, UV doesn't leave any residual protection like chlorine does - once the water leaves the bottle, any new contamination isn't stopped. I had a mate swear by one of these for his gym bag, but he admitted he only actually ran it maybe half the time because he'd forget or be in a rush.
So it's not pure marketing, but it's not a miracle worker either. If your tap water's already pretty clean and safe, you're probably wasting money. If you're in an area with dodgy water quality or traveling somewhere sketchy, then maybe it's worth the investment - just make sure you actually use it properly and don't expect it to fix everything. The effectiveness really depends on how you use it and what you're actually trying to protect yourself from.