The great hardware support is indeed provided by the kernel, but out of the box it's nowhere near pain-free. In particular when you have to setup your wireless or video drivers. Sadly, these two still often require binary drivers and picking from several options. One specific example (mentioned in the OP as well) is with the wireless drivers - there usually are at least two options that provide some support and usually one of them is better. I've had to configure some Broadcom WiFi support and there are three different solutions - ndiswrapper, binary blob provided by Broadcom and the driver in the kernel. Picking one of the three is a time consuming and complicated process on other distros and nowhere near easy and accessible to new users.
Ubuntu on the other hand, with their driver manager, picked the correct driver, downloaded the required bits and pieces, and configured them all without needing to do anything else. The same can be said for eg. NVidia support.
This in my book is a clear win for Ubuntu.