I have more trouble installing software on Linux than on Win10.
The APT Linux installer suffers from the 'DLL Hell' problem of Windows, but on steroids. Not only that, it's often impossible to install an app without all kinds of other crap being pulled in along with it. The reverse can also be true, try to apt-get remove something you don't want or need, and it threatens to remove something totally unrelated but vital along with it.
I can install Office 97 on Windows 10, or any combination of versions so long as the OS is not too much older than the Office version. When I upgraded Debian from Etch to Jessie, my entire KDE3 desktop went down the tubes, and there was no way I could get it back. I was forced to use KDE4, which was not only a pile of poo but didn't have the things I needed anyway. It was a total disaster and I had to restore from a backup.
When I upgraded Jessie to Wheezy, a similar thing happened in that K3B was replaced by a new version that didn't work. I couldn't get the version that worked back, either. In the finish I just decided to forget it use the Windows box for optical disk burning.
Basically, there is way too much interdependence of components in Linux distros.
I really wish there was something like http://portableapps.com for Linux. Use their stuff all the time on Windows, not so much because I need the app to be portable but because I know it won't knacker-up the OS by pumping a ton of sh*t into the system folders. Though, being able to transfer the app to another box without losing its settings is another plus point.
I am sorry but I completely and wholeheartedly disagree with this assessment of APT. If you do not ask stupid things of apt, such as mixing 'stable' and 'testing' or trying to add Ubuntu repositories to a Debian install, or visa versa, or using third party repositories, there are no problems at all.
APT doesn't suffer from 'DLL Hell'. Applications use shared objects to prevent code re-use, the application developer decides what libraries they are going to use, and link against. The application will refuse to run at all if the libraries are not there as the preloader (LD) will not be able to satisfy the dependencies. In short, it's not a whole lot of other crap, its a whole lot of required dependencies to make the application function.
The KDE upgrade issue you had was not Debian's fault, you chose to upgrade your entire operating system which means that code that KDE3 relies on will no longer exist in supporting libraries. It would be like trying to keep using the Windows XP shell on Windows 10, it simply would not work. There is no incentive for developers to maintain prior versions of software like this either. Debian dropped KDE3 because the developers dropped it, as such it was un-maintained, it's that simple.
It honestly sounds like you upgraded for upgrade sake... did you need to? Debian continue to back port and provide security updates for prior releases for a very long time, which is why it gets used in commercial environments on production servers.
Don't get me wrong, I cringed at what happened to Gnome with Gnome Shell and all that junk too, I moved to Mint for a while for my desktop due to that mess. But again it wasn't Debian's fault, it was the idiots that were in control of the Gnome project.
Apt also tracks auto added packages. When you remove a package that auto installed packages, and nothing depends on those packages anymore, apt will tell you what they are and tells you that you can run 'apt-get autoremove' to remove them.
If a package is missing a dependency as part of it's install, contact the package maintainer and let them know of their mistake. To be honest though in my 20 years of professional use of Debian I have NEVER seen apt do this when using the official repositories. The only times I have seen this kind of problem is when the system has been screwed with, as mentioned above (usually ubuntu repositories on debian), or it is some third party program such as skype or steam, which are not part of the official debian repository, and for damn good reason.
The deb packaging scripts when building ensure that all shared library dependencies are satisfied and will refuse to build the package if they are not. They even warn when linking against shared objects that are not in use.
And finally... it can't be that bad if my novice 12 year old daughter installed Debian from scratch, messes around, installs games, apps, etc, and has no problems at all. My wife who is not a tech head at all has been using Debian on her laptop for 8 years now, not a single complaint or problem.