Well, if you're just displaying a list of something, then a datareader is probably the best way to go.
i.e. here's alist of clients
client1
client2
client3
etc.
If you need to do something a bit more complex (maybe some databinding), you'd be better off with the dataset
i.e. You want to bind a treeview to some xml that you get by using a datasets writexml method. (I don't believe the reader has any xml methods built in...could be wrong, but I'm pretty sure).
D'Arcy