I don't run Ubuntu myself but I do run Linux as my main desktop OS and for just about everything I do.
Personally I prefer OpenSuSE, but distros are really a matter of personal preference and experience - I tried several like ubuntu, mandrake, redhat probably 8 or 9 years ago... and this was with really _really_ flaky hardware on an old PC. openSuSE was the only one that would successfully install and work reliably. So I stuck with it (and I have since encountered some other insane situations like bad memory where it just kept on chugging without giving a damn) and it's been rock solid for me ever since. It’s even passed the "mom test" in that I have a family member that knows little about computers/OSes use it as their daily driver for web browsing, email, and productivity (word processing etc). Best part is you don't even have to worry about malware/viruses unless you visit _really_ shady sites because all the drive-by and downloadable crap you can pick up doesn't run natively in Linux. If you've got the common sense to realize when you're being conned by trying to download a wallpaper but get sent wallaper_downloader.jpg.exe, you'll be fine.
I'd highly recommend you look at a few distributions and try out their "live CDs" which let you boot the distribution and get a feel for it without committing to a full install just yet. Ubuntu, openSuSE, and Linux Mint are some of the more popular ones that I'd recommend for a new beginner. There are others like Red Hat, Fedora, Centos, Debian, but they tend to have different markets and are more for folks that really know what they're doing. Most distros will have very comprehensive software repositories with all manner of software that can be installed through a package manager without even needing to go to the dev's website to download it. Often, click, click, install, done. (and it even handles all the dependencies for you where it can... so you'll rarely see the linux equivalent of "X requires C++ runtime 2005, you need to find/download/install that first"... instead you get a dialog "Yeah, this needs X,Y,Z so If it's fine with you I'mma install those too right now"
Dual booting is usually less hassle if Windows is installed first, which is something to keep in mind if you say it may be an option in the future. This is just because the Linux boot loader is a lot more "friendly' towards windows, whereas the Windows one tends to just nuke everything and replace it, so you have to re-install the Linux boot loader afterwards. Not saying windows can't be installed later, but it might not be as easy if you don't have experience prior.
Also beware that partitioning is different. Linux uses its own file system (usually ReiserFS or Ext4) so you won't be able to access your Linux files from Windows (but accessing your Fat32/NTFS partitions from Linux is possible). The good news here is the linux FSes are set up such that you don't ever need to worry about having to defragment your drive. They simply don't fragment files like Windows does, and they're also "journalling" file systems so it keeps logs of what goes on and you are less likely to lose/corrupt files if the power goes out or so.
Most hardware is decently supported under Linux. Bleeding-edge stuff maybe not yet, but anything older will have support in some form or another. Some manufacturers (Intel, nvidia, ATI, and others) do provide Linux drivers and/or specs for other people to write and provide support for their hardware - so if whatever hardware you have has a reasonable amount of people using it, there's a good chance it works properly. Accessories like webcams are sometimes odd because of how they work/communicate. WiFi cards are generally well supported, and in the worst case there's actually a wrapper that lets you load the windows NDIS driver for your wifi card and use that. In both cases though, there's generally a set of "common" chips which are well supported so it should be fine unless you have an obscure product like uncle Bob's super Wifi card you found in a back room of a thrift shop... even then it may just be a rebrand of a more common chipset and still work fine. Other stuff like audio, video generally works out of the box (but for video cards it's a lot like Windows- it works but performance may not be great until you install the manufacturer's drivers for 3d acceleration)
For running games (which don't support Linux through Steam or otherwise) and Windows software you can't find a substitute for - there's a piece of software called WINE which basically provides a windows compatibility layer, and tends to do very well at running most Windows software on par or better than in Windows. Some things may not work because it's such a difficult thing to handle - every game and dev has "quirks" and methods they use which may work fine in Windows but haven't been implemented in Wine. That said, Wine can be fiddly sometimes. I've been using what is essentially a "paid" version of Wine called Crossover which eliminates a lot of mucking around when trying to install stuff like runtimes, directx etc and they even have some windows software that is "officially supported" and more or less guaranteed to work for you through their package.
More info here:
https://www.codeweavers.com/. Yes, it's pricey at $60 but personally... I find it well worth it, and yearly renewals are a lot cheaper ($30) after that - I've gotten discounts/promos per email when I got close to my subscription expiry that saved me another 10-20 on top of that.
I think that sums up the most important questions/points you had... but I'll answer anything else and help out where I can.