Are there many data breaches on cloud servers? Are the big tech giants not secure? Or are they selling my personal data to other people. For example, Drive. Doesn't it remain private?
They're selling your data. Providers like Microsoft and Google and Apple can absolutely access your data (which they do in order to scan for illegal content like CSAM and for reading your email and files and using "anonymizing" tech for marketing without saving data that would personally identify you; even filenames and email subject lines are valuable to them, and the contents are a treasure trove). It does also allow them to scan for malware in the files you upload/download from your storage or that of others'.
Providers like Proton use end to end encryption to store the data, so your local device can decrypt it and that's all. They can't see anything more than how much storage you're using. (Though email by default is transmitted without encryption to/from the other person, so they could technically could read it then.) When you log into web mail or the file storage web interface, or the app on your PC or phone, the locally-running application performs the decryption. Even the filenames are encrypted until they get to your device. It's pretty CPU- and RAM-intensive and Proton put a lot of work into optimizing it so it wouldn't bring things like your cheap phone to a crawl while uploading/downloading a large file. But as far as their servers are concerned, they're sending random data to your device. Proton Drive has a minimal method of checking for malware, hash-comparisons, but can't actually scan files.
The big providers may not have a lot of breaches where the data was exposed/stolen (that we know of), but they certainly have disgruntled employees and executives with questionable morals, and are absolutely the target of constant attempts to breach them.
Cloud or local storage depends on your needs and your level of concern over privacy. If you're storing illegal data you'd want heavy encryption even on a local drive which blocked access without a password, and certainly wouldn't want to upload unencrypted data to a regular cloud provider. (Even if encrypted locally, when you transfer it to the cloud, it's an unencrypted file unless you use an encrypted provider. Only transferring an "at rest" encrypted file would keep it encrypted with Google or MS or Apple.) If you're not all that concerned about the providers farming you for marketing (which they claim is how they're able to provide free services or keep costs low) and don't have illegal stuff then a cloud provider is fine. If you have massive amounts of data changing every day, local storage would avoid constantly using bandwidth to update the cloud files, and if you're using it for backup then local restoration is obviously tremendously faster. Cloud storage is available from any device at any time, as long as it has Internet connectivity (or has a cached copy), while a local drive only works on the computer where it's connected and you have to carry it around (but works without Internet service). If you're not performing backups of any kind, then cloud sync/storage can act as at least a minimal form of backup (limited to the data that you've selected to be stored there), and if you're doing local backups then cloud can just be an additional one that is offsite for added security. But you also have to consider that sometimes when a cloud service breaks and "loses" the cloud files, they become unavailable locally as well, so the type of syncing matters - one-way which is like a backup of changes you make locally or two-way where you're using the "virtual Cloud drive" on your PC as your working location. (I can't remember which provider had an issue not long ago that did that.) Local storage gives you full control of your data and everything about it, while cloud storage gives you some added flexibility and is protected from local catastrophe.
I use a USB drive with Macrium Reflect to perform daily image-based backups of the whole PC, with all my files on internal drives, and I have a Google One account with some files in the "virtual drive letter" cloud storage as well as having the app store copies of local data folders like Desktop, Documents, etc. so I can at least recover my most important data files even if the whole house burns down while I'm away and can't pull the USB drive and run. (I could sync my full backup images to Google as well, just haven't decided to go that far.)
If you're trying to choose the location to put the only copies of your personal files, cloud storage of some type would be better than a USB drive, IMO. If you just use a USB drive, you risk losing everything if the drive fails, just like if you only had them on an internal drive. Cloud storage also provides versioning so you've got a little protection against corrupting or deleting files accidentally, and that can provide some protection against data loss from things like viruses/trojans and ransomware or just making mistakes, if caught early enough (they provide limited versions for a limited time). Using a USB drive as your storage location also may be much slower than having your files on an internal drive, depending on the types of drives.
One problem is that you still need to have sufficient storage on your primary local drive for the files you have in the cloud using the "virtual drive letter" but work with locally, because they get cached locally by default when you open them. It just grows and grows. Until recently, the app didn't have a way to clear the cache, other than logging out and back in and re-syncing any other local folders you synced; they added a "clear cache" button though. If you're just working in the folders that you've added to be "backed up" to Google Drive, then there's no difference in the storage used since those were local files already.
OneDrive is the crappiest cloud service I think, because of its forced integration with Windows and intention to turn Windows into a cloud service itself, and will only sync the standard Windows folders like Desktop, Documents, etc. You can't select arbitrary other folders to be synced, and it results in the "real" location of those folders being in the cloud rather than on your PC, and getting forcibly synced with every PC you log into with that account, with no ability to have for example a different desktop on different PCs. That might be nice for a small number of people, but those are likely the type of people who don't use multiple PCs anyway. You weren't thinking of using it, but I like to complain about it.
