Well there are many ways. To make "Ada" we used the following method:
Unpack the content of the Kubuntu 6.06 ISO and make changes to it... use mkisofs to regenerate the ISO.
We installed Kubuntu 6.06 on a machine and made all the changes we wanted on the machine itself, then we used squashfs and a lot of patience and coffee cups to squash our filesystem and to replace the one from the Kubuntu CD with ours.
We wrote an installer in shell script ... which does the job, but wasn't flexible enough when it came to recognize windows partitions and configure grub for people who have original hardware specs...
Then, for Barbara we decided to change things a little. We used the Ubuntu 6.10 CD and a tool called Reconstructor which basically does what we did before, not as much, but in a simpler way.
If all you want to do is change a few things (wallpaper, software packages), this tool should do. After that, you need to either chroot or exchange filesystems... so that you can tweak stuff yourself.
Basically reconstructor is simple to use but it doesn't do much.
I suppose the real question to ask is how does Ubuntu create their Live CD in the first place ? By generating your own ISO, you get much more control than by remastering an existing one. We had that control in Ada... we don't anymore in Barbara because we needed more stability.
At the moment we're tweaking ubiquity and other things... in Ada we were improving our own scripts... in other words, there are many ways to do one thing.
If you're interested in that kind of thing I can only recommend this website:
Good luck with your project.