GUI "variety"? Are you joking? The very reason there exists so much "variety" is that they
all suck. Windows has
one GUI system and it's worked darn well for quite a
long time, and will continue to do so. Linux might be able to let you make your windows do somersaults so you can show off to your friends, but it
still hasn't been able to get the basics right, like focus-stealing prevention. Windows is miles ahead of Linux on GUI -- if there's one thing I can tell you for sure, it's that.
And Linux is "miles ahead of Windows for research because of its command-line interfaces"? Really? Since when are 25-year-old command-line shells research products? Not to mention stuff like http://mywiki.wooledge.org/BashPitfalls
As for package management, when it works it works, but sometimes I wish it could burn in hell. I can't tell you how many times I've run into problems getting packages to work because their dependencies were either (1) no longer available ("sorry! our servers changed, your version of Linux is outdated"), (2) only available in source code form (but good luck compiling it!), or (3) not available for my version ("sorry, this version is too new for your OS"), among other things. Distributing your dependencies along with your application might not be sound engineering practice, but it sure as hell can make things actually work out of the box so you can focus on what you actually want to do.