HBM is only used in the very high end Nvidia cards - the nose bleedingly expensive Tesla cards, and a few Quadros. Most of their cards use GDDR. At the price points where AMD use HBM (as low as a few hundred pounds), it's a major component of the cost and this hinders their ability to compete.
AMD's architecture is not as advanced as Nvidias. AMD cards run slower, hotter, require more power, and are noisier than the Nvidia alternative, at a similar price point.
Nvidia are winning in the consumer space because they have a massive investment in driver quality, work closely with game developers, develop new features that work well, and have (relative to AMD) quieter cards.
AMD's strengths lie in embedded systems (wildly successful in consoles and other appliances), APUs, and open source support (unfortunately a tiny market).
Additionally their recently released Radeon VII has truly excellent compute (double precision) performance, and is a bargain if that is your requirement.
It doesn't really give me a lot of pleasure to recommend Nvidia, because they have a repeated history of proprietary products, obstructive open source support, and are pushing their prices up. Unfortunately they tend to work well, and a fair few of the technologies they do develop (such as GSync) tend to work better than AMD's alternative, even if it's more open.