Ubuntu is a fine "nice to meet you" distro -- the criticisms I've gathered happen a few months in. Nvidia+Xorg updates dropping GUI to TUI, MDADM shitting the bed and dropping RAID, the awkward 6 month upgrades where you go from old weird issues in apps to new weird issues -- thou snap and flatpak improve this a lot over stock.
Canonical NIH, Canonical CLA agreement, history of charging forward only to abandon in house tech over and again after users get comfy.
Then there are inner politics and the occasional hankyness inside, or discourteousness like when they shit the bed dropping lib32 without talking to partnrrs like Valve on how this would effect their business after they made Ubuntu their target.
Criticisms typically are based in something. I had started using Ubuntu since 2004 IIRC and its been an interesting ride.
Oh also, PPA's, avoid those, they're not stock and don't be surprised if your OS doesn't boot with the less than stellar ones not staying in sync with the latest kernel updates.
YMMV and this is by no means advice on your personal fit.
Personally I am not fond of most casual user low barrier distros but I still recommend them. Manjaro, PopOS, LinuxMint, Endless, are all fine options depending on what kind of user.
I recently recommended one to a GameDev and considering SteamOS is Arch he decided on Manjaro over Debian.
YMMV, and its important to listen first to people to see what they want their machine to do.
One last criticism of Canonical and Ubuntu. Their HQ is UK based and I honestly wonder how the culture effects development. Germany, UK, California all have different "feels", its hard to be more specific.
Choice is good, always keep your data backed up and the @home on a different partition. The differences across distros are largely not a big deal like they used to be. People find solus in being captain of their Linux adventure and even Ubuntu will do just fine at the basics, just know if you hit a snag it may not be like that on every distro.
Typically the user group is identical to the username but not always. For example a name containing uppercase letters may be transformed to be all lowercase for the user but contain both cases in the group.
Thus you should get the user group in scripting separate from $USER