The Raspberry Pi is notoriously tough on micro SD cards, which were never intended to be used as primary computer storage.
The Pi 4’s USB 3.0 bus presents a high-speed alternative to the SD card… almost. Unfortunately, you can’t yet boot the Pi 4 off a USB 3.0-connected drive (as you could with the Pi 3) but you can at least use USB for your primary storage and retain the Pi’s micro SD card solely for boot duties. This minimizes the risk to this fragile medium.
I like solid-state storage, but there’s a time when you want the storage capacity that only a hard drive can bring — at least until SSDs become much, much cheaper. Of course, SD cards are pretty cheap to buy and to support in hardware which is why the format was chosen for the Raspberry Pi in the first place. At high capacities, the price:gigabyte ratio isn’t as attractive as that of a hard drive, but you get a single point of access for all your computer storage just as you do with any modern laptop or desktop.
I’ve re-installed my Pi’s SD card storage more times than I care to recall. New cards, programming glitches, messing with Linux’s settings files – all of these reasons have forced me to go through the process of re-flashing the Pi’s storage card. That’s bad enough – what’s worse is having to re-download the applications I’d added since the previous install, applying updates and choosing again all of my system preferences.