Why does RHEL (and its derivatives) use such an old kernel? It uses 2.6.32-xxx, which seems old to me. How do they support newer hardware with that kernel? As far as I know these kind of distributions do run on fairly modern hardware.
Because Red Hat Enterprise Linux is foremost about stability, and is a long-lived distribution (some 10 years guaranteed). RHEL users don't want anything to change unless absolutely necessary. But note that the base version of the kernel is old, RHEL's kernel contains lots of backported stuff and bug fixes, so it isn't really old.
- RHEL 2.1 (released in 2002) used kernel version 2.4.9.
- RHEL 3 (released in 2003, based on RHL 9) used kernel version 2.4.21.
- RHEL 4 (released in 2005, based on Fedora Core 3) used kernel version 2.6.9.
- RHEL 5 (released in 2007, based on Fedora Core 6) used kernel version 2.6.18.
- RHEL 6 (released in 2010, based on a mix of Fedora 12 and 13) used kernel version 2.6.32.
- RHEL 7 (released in 2014, based on a mix of Fedora 19 and 20) uses kernel version 3.10.0.
- RHEL 8 (released in 2019, based on Fedora 28) uses kernel version 4.18.0.
On each RHEL major release, the kernel version is frozen at the time of the initial release, and any security patches and driver updates are backported to that kernel version.