I've upgraded my Ubuntu laptop to 12.04 (from 10.04). The process was painless, just following along the automatic upgrade procedure. Until now I didn't notice anything breaking - all my settings and data were preserved.

The good news is that 12.04 has better driver support for new hardware, so all of the laptop's hardware is now functioning properly. With 10.04 I couldn't set a resolution higher than 800x600 (it didn't bother me most of the time because I mostly connect to the laptop remotely with NX) and my wired ethernet adapter didn't work. With 12.04 these problems don't exist.

One small problem I did ran into is with setting up NX to work properly. Since 12.04 has Unity running by default, what you have to do when setting up the client is choose a Custom window manager (not Gnome), and there place:

gnome-session --session=ubuntu-2d

In the Run the following command box. Also, select New virtual desktop in the options below. With these, the NX connection seems to be working alright. This blog post helped a lot with the NX setup.

As for Unity itself, I still find it very weird. Fortunately, I don't really use the whole GUI environment on Ubuntu much. I spend 99.5% of time inside either the terminal, Vim or Firefox.