I side-stepped many of the problems in data transfer by not having it on my computer in the first place!
The majority of my photographs, music, documents and other files are on a portable hard drive. When I set up my new computer, I simply unplugged the USB from the old one and stuck it into the new.
Happy days! Instant 'transfer' of my files!
I've been doing this since my very first computer, back in the days when they were made out of stone and powered by bicycles. It's always been a great relief when I come to upgrade.
The external hard-drive has also come in handy in between. I've certainly been known to unplug it, hot-foot it around to a friend's house, then copy useful data onto their computers too. The whole thing is basically a glorified memory stick. You can use it in all of the ways that you use them!
In this way, I've also been able to transfer the occasional program. Not all of them work like that.
Your IT consultant will probably tell you categorically that you can't move programs between computers, as most of them have anti-piracy devices stopping such behavior. For the most part, (s)he will be correct.
But not if every single file, certification and application relating to that program is only on your external hard drive. Then it never moved. Your programs come with you.
Portable hard drives range in price from relatively cheap to obscenely expensive, but you are always paying for the storage capacity.
Aim for the highest that you can afford. It will pay for itself a million times over. The higher the storage, the more you can keep permanently on there, accessing it every day as it stays plugged into your PC.