Indirect typically involves sealed coils within a tank. Hot water flows through the coils from another heat source and heats the water surrounding the coils of copper tubing.
Direct is when a heating element or burner directly heats the water.
Here's an example of indirect eater heating with a boiler.