Like I said, it's a gamble. Sometimes the hardware and drivers and phase of the moon is right and everything works. Sometimes no amount of kernel flags and customized modules will fix it. I (along with many others) am willing to pay to not have to worry about potential problems.
1. I ranted a little about it near the end of a recent blog post: http://geoff.greer.fm/2015/01/03/ten-years-of-progress-in-la...
In the case of ThinkPads, you have three interfaces to control backlight brightness: acpi_video0 (standard ACPI interface), intel_backlight (GPU interface), and thinkpad_acpi (vendor specific interface) all with different semantics conforming to ACPI standard, Windows 7 behaviors, Windows 8 behaviors, and vendor private behaviors, and you have user interfaces including BIOS wired special keys, sysfs, udev, X utils, GPU control panels, and desktop environment settings to control the brightness. You have these moving parts for just one vendor and the kernel needs to coordinate all the madness with all the vendors. And the fixes coming out in latest version kernel might not even make it to your version of distros.
So there is a lot of complexity in the even seemingly trivial screen brightness control. Linux still has much to do with the support of heterogeneous hardware. But this is the price you pay for the freedom.
I use a Carbon X1 and have had no issue. Before I've been through other X's and a W.
https://wiki.ubuntu.com/Kernel/LTSEnablementStack
That fixed the only issue I had which was with the 1 Gig ethernet. Now I'm on stock 14 and of course it has all the newer drivers already.
... unless you think ahead and only buy (and recommend) Thinkpads.
Edit: wanted to clarify that this C720 is my current personal portable. My other is a custom built desktop also running Ubuntu.
Well, that does kinda destroy the convenience of apt.
I'm running Ubuntu and a set of kernel modules I can link later but they are the very same that were then altered for Arch ( which I also tried but had some problems with ). These have carried me from 13.04-14.04 and I'm hoping the 3.17 kernel will be included soon because these components are built right into that kernel version AFAIK.