Found an interesting paper comparing Xenomai vs Preempt-RT with a basic GPIO test (vs stock kernel).
Xenomai has better performance overall (less jitter) but using it will force you to redevelop custom driver using the specific RTDM api. On the other hand, since Preempt RT is not in the mainline kernel, it is less tested and you can also have issues.
(Xenomai3 has actually two approaches : either using a real time micro kernel to manage real time threads and interrupts, or if you need less performance, using it with a single preempt-rt kernel)
Edit : I revisit that old answer from 2016 to add that in 2021, Prempt RT is about to be integrated in the mainline kernel and won't live as a "patch" anymore.