The only thing TrueCrypt gains you is portability. Windows, Mac OS X, and Linux all have a version of TrueCrypt available for download and easy install from http://www.truecrypt.org/. TrueCrypt support is in dm-crypt 1.6+ now which gives Linux native TrueCrypt support out of the box, but you'll have to have a distribution that includes it or install it yourself. Provided you use a compatible file system (FAT32 works on all of them for sure, NTFS with read-only support for Mac OS X by default, and exFAT support works with Linux with the installation of the exfat-fuse package), you can carry a TrueCrypt container and expect to be able to use it on any of the major operating systems seamlessly.
On the other hand, dm-crypt is not as portable to other operating systems, but does everything TrueCrypt does and provides the flexibility of using any algorithm the kernel supports. dm-crypt comes with every Linux distribution and should work out of the box. For Windows, you will need FreeOTFE to mount dm-crypt volumes. You might run into issues with 64-bit Windows along the way. As far as I know, there isn't a FreeOTFE-equivalent for Mac OS X; accessing a dm-crypt volume basically requires installing Linux itself. It's not worth the potential hassle to try and use dm-crypt volumes from other systems if you ask me.
Short answer: if you do not expect to use a volume on other operating systems, stick with native dm-crypt since you'll get support for it straight out of today's live Linux discs. Otherwise, use Truecrypt and FAT32/NTFS.