Out of 10 3TB WD drives I have that are roughly 6-7 years old, I've seen two show a few read errors each. I think the general consensus is to replace HDDs about every 5 years, so I've not done bad.
SSDs, particularly modern TLC/QLC ones, are not great for cold storage. I've got a Samsung 840 EVO still in use and those were notorious for having issues after just a few months (they now rely on firmware to patrol the data). If they're kept powered on, data lifespan can be much longer, but they can also 'just die' with very little warning (I've had that happen), whereas HDDs tend to give some warning (unless you were unlucky enough to own a Deathstar).
SD cards are apparently rated for 5-10 years, but like all flash, that depends on how many write cycles its had. I had one SD card literally split in half, so I wouldn't count on that.
I use HDDs and backup some of that to the cloud. Given I currently have about 8TB in the cloud, I'm hoping I never have to do a cloud restore! I probably need to find a new provider, but not sure where to go with that much data.