Those running Ubuntu 10.04+ and Linux Mint 10+ will find that an upgrade installation isn't difficult. Just remember that if you're already joyously happy with your current user interface (especially Gnome), Unity will likely be installed right on top of that favored user interface if you're not careful; a fresh, bare-metal installation with subsequent restoration is recommended. But we feel Unity has evolved to the point where there's not much difference between a skinned Unity UI and one from KDE or Gnome.
Much care has been taken to retain compatibility with Debian, which is a conservative implementation of Linux, GNU and other applications. But that's where existing users won't complain. It's the installation of Canonical's Unity user interface that provides a radical change, and users of prior editions had flipped out. There's much less to loathe now; Unity performs well and supports two monitors, if the supporting hardware does.
Even more changes were found in Ubuntu server cloud support, which has seemingly waffled between support for Eucalyptus stacks, then Puppet and Chef, and now leans towards Juju, MaaS and OpenStack as its cloud-control infrastructure. Ubuntu is strongly intertwined in the OpenStack spec, and Ubuntu's 12.04 LTS version will have five years of Long Term Support, in contrast with prior LTS versions, which had two.
Nonscientific measurements of performance showed us that the 12.04 client has slightly better user experience graphics performance, and we can vouch for slightly faster disk performance. Ubuntu 12.04 uses the 188.8.131.52 Linux kernel, where power settings now work and depending on BIOS and machine support, power consumption can be tailored (where virtualization isn't present) to a fine degree.
Upping Ubuntu Server
The server edition comes ready to distribute or replicate. Our initial downloaded ISO cut of the 12.04 Server edition started an initial installation of Precise Pangolin Server that booted in seconds to a screen allowing MaaS distribution. Juju, a package distributor and configuration app, then seeded the resulting server instances with pre-configured application payloads -- unless we distributed pre-configured server instances en MaaS -- so to speak.