Distros include a unique set of packages, but after installation you can remove what you don't want and add what you do.
The single biggest factor in terms of sheer compatibility with your hardware is the Linux kernel, and every distribution has one. Some are older than others. Some projects remove things from the kernel and recompile. Others add things.
But by and large, the Linux kernel is the same from distro to distro. Some ship newer kernels, to be sure, and some ship older ones. The Linux kernel developers maintain a few different kernels at the same time, some older with security patches, some newer with the latest features and drivers.
Fedora ships new kernels all the time. If you have new hardware and have parts that are not working so great, new kernels will often solve your problems. It's not the distributions doing this, it's the kernel team.
If you have old, stable hardware that works great with an old kernel, you might want to run something like Debian or CentOS -- if you like that sort of thing.
Fedora or Arch are both great ways to get new hardware working its best, but that's because the Linux kernel developers are doing this work at the kernel level, and these distributions pick up new kernels very soon after they are released.
If distro developers contribute back to the Linux kernel -- and many do, from Ubuntu and Fedora for sure, but for others, too -- everybody benefits from those improvements when a new kernel is released for the use of all distributions that want to package it.