Like @bhushans23 said, if you are just indexing pre-loaded data, you could probably use the Dataset directly. However, if you would like to lazily load or preprocess the data, DataLoader will provide multiprocessing to do so. Also, you can specify to use pinned memory so that the data transfer between the host and device will be faster.
Generally, I would stick to using DataLoader, as I’m not seeing any disadvantages.
Did you see any performance issues using a DataLoader over the plain Dataset?