If you're moving between ROMs you usually need to do a wipe first - system, data and cache; otherwise it's usually easy enough. However you should always do a nandroid backup first (and copy off the sdcard to another location for good measure).
I tend to backup my data in other ways too - I export my contacts to sd card so they can be imported without having to sync with Google, and I back up apps and data with Titanium Backup as well. Note system backups are often not compatible between ROMs though I've only accidentally tried to restore that once, so experiences differ.
Otherwise flashing ROMs is *relatively* safe. Check the md5 sums first.
As for which ROMs are okay or best, trial and error is best. The individual ROMs usually have a dedicated thread on XDG under the Desire development forum. I'd always recommend a read through - for the long threads, read the first page of posts (usually the most informative) then skip to the last few (say last ten) to get a feel for any current issues.
A kernel is included with the ROM, and usually you won't need to worry about changing it. Occasionally some people need to change kernel to fix a problem, and sometimes it will give improved performance (eg battery life), but unless you find a compelling reason, I'd suggest not to bother (I haven't found a need to yet).
There are more experienced people here who can probably give better advice, but hopefully that's enough to get started.
Oh and
*read the FAQs* they'll get you though most/all issues you're likely to encounter.
EDIT: too slow
