You don't want to play with a cable on that Xbox One controller (cheap usb port). You must get the wireless adapter which requires Windows 10. There is a wireless adapter for the wireless Xbox 360 controller as well but I do not know if it supports Windows 8 and beyond.
The old wired Xbox 360 controller is compatible with loads of games and works on several OS platforms (OS X, Windows XP, 7, 8, 10, Android, Linux) It is cheap and I strongly recommend getting thumbstick nubs for ergonomic comfort and headshots.
The crown jewel imo is the Elite Xbox One controller. Yes, it requires Windows 10 and the wireless adapter for wireless, but the extra buttons and better materials should make it worthwhile in complex games.
I recommend the older Xbox 360 controller unless you plan on owning an Xbox One. The older controller is built to last and they are high quality compared to any of the slightly cheaper 3rd party knockoffs.
I map a lot of controls using Xpadder and use the Xbox controller as a media remote. It is by far the most comfortable and familiar design I have ever used on any peripheral. I prefer it over a mouse.