RO stands for Reverse Osmosis. Water is passed through a membrane and separated from contaminants mechanically.
DI stands for De-Ionized otherwise known as triple distilled. Distillation heats water up till evaporation and or steam and then re-condenses the evaporate into a second container. The second container of evaporated water is mostly devoid of trace elements. Distilling (evaporating) 3 times purifies the water of 99.9% of contaminants.
Both methods create pure H20 and remove phosphates, nitrates, calcium, potassium, iodine, trace metals, ammonia, nitrites, poison, chlorine, chloramine, basically everything that is bad for your tank is removed through either process (so is everything good, so careful supplimentation needs to be followed). RO units are generally cheaper, but you have to buy more membranes over time. DI units are more expensive but cost less to run over time. If you know anyone who works in a chem lab, you could bug them to bring you home a gallon or two of DI water as jsut about every chem lab I know has supplied DI water.