I have a love hate relationship with Linux, it's great because it's free and open source, and it's much easier to automate stuff than in Windows. There is also no licensing bullshit to deal with.
But one big issue with Linux is there is a huge lack of standardization across distros so there is always problems with stuff if it was not designed for that specific distro. Then there's the fact that every distro seems to put settings in different places and in a different format. I find lot of app devs also half ass the front end. They might be really smart to be able to make the actual app do what it's meant for, but then the front end will be a nightmare to manage because they skimped on it instead of making it more user friendly. Ex: KVM. Been fighting with that for days trying to figure stuff out. There's too many tools all half assed. KVM, Qemu, libvirt, virsh, virt-manager... way too much crap just for 1 thing and they're all half done instead of one that works 100% well. There's a lot of BS like that in Linux.
There's not really anything specific I can say to watch for, you pretty much have to give it a go and see how it works out. If you have windows 7 don't bother trying to dual boot on the same drive though, Windows 7 is VERY sensitive to anything such as partition resizing. I could never get it to work. It would just bluescreen. It can be done but no idea how to pull it off.
Easier to get a secondary SSD for Linux. Set that one as primary (ex: sata port 0) then the bootloader will detect windows too after a few reboots.