If you have to advertise - shove your product in people's faces - to keep sales, your product is not supplying enough real value, does not have staying power, and you should lose.
"Just being a bit better or a little cheaper isn't necessarily going to win over a lot of people if they never bother trying it due to existing brand loyalties"
This is a feature, not a bug. Brand loyalties are built when products are reliable and good. Your product should be enough of an improvement to make people move of their own accord.
If your new product solves frustrations present in an incumbent, on a long enough timescale, your product will come out on top.
If both products are presented equally in a marketplace, the better one will win. If your company does not survive because you can't shove it in people's faces, this is a good thing.