Track at once vs. Disc at once
Disc-At-Once (DAO) burns the disc in one go (though the laser can stop & start during the burn, especially if your CD drive changes to a faster spinning speed as the laser edges toward the rim of the CD). The main thing to note is that the disc will be 'finalised' or 'closed' - in other words you can't come back & add more to the CD at a later date.
Track-At-Once (TAO) in contrast writes the data & audio tracks as seperates tracks on the disc & the main index is written after the last track - as defined by the Orange Book standard. All modern CD players recognise that it's a TAO disc and use the outer most index by default. You don't need to finalise the CD in order for the CD to work in these drives. When you come to write to the disc again the laser starts writing the new tracks after the old index. After the new tracks have been written a new index for the entire CD is written, after the last track. The CD player will now use this new index by default when reading the CD since it is now the outermost index. In this way you can also 'delete' files from a CD-R just by removing the reference to the file in the newer index. The file isn't really deleted and can still be found if the CD drivers allow the user to choose which index to use. I used to have a Plextor drive with software that gave me this control, though I never actually needed it. Incidentally, each index will take up a few MB of the CD (around 13MB from memory...) so you won't get the full 650MB of data on a standard CD-R disc that has been written to multiple times.
Personally I hardly ever choose TAO to write CDs since I don't use CDs to back up small amounts of data anymore. I only copy CDs or burn ISOs and so would normally choose DAO.
Track-At-Once
This is the first option that was introduced when CD duplication software was first created. With this mode, each time a track is finished burning, the laser recording the information stops. When it stops, two run-out blocks of data are written. After that, one link block and four run-in blocks are written when the next track begins to record. With track-at-once, you may burn both data and audio on the same disc. These blocks in between tracks are not a problem when data is being read, but you may hear a click on some CD players when playing back audio. This is something that may cause you problems if you are having your disc mastered and duplicated or replicated at a professional facility. In that regard, track-at-once is best suited for CDs for personal enjoyment.
Disc-At-Once
This burn mode takes all of your data, be it audio data or regular data, and burns it all to disc in one big block. No gaps are added between tracks, the laser never stops burning the data to disc. This is a newer feature, which should be an option in most modern CD burning software. One option you have with disc-at-once mode, which is kind of interesting, is that you can place allows any amount of audio data (or no data at all) to be written in the "pre-gaps" between tracks. With this option, you can place track introductions between each song. This is cool, because you can create "hidden tracks" on the CD in the pre-gap areas, that are only accessible by rewinding backwards into the pre-gap area. This is the ideal choice for CD masters that will be going to a CD duplication or replication house.