What is the main difference between a heterogeneous and a homogeneous mixture?
A homogeneous mixture has only one phase throughout the solution while a heterogeneous mixture has more than one distinct phases in the mixture.
A phase, at least in terms of mixture, is a region in the mixture where the composition is constant wherever in that region. In a homogeneous mixture (may also be called a solution), the whole of the mixture has same composition everywhere, thus, a solution has only one phase. For example, after allowing for equilibrium to be reached, a glass of salt-in-water solution may be considered homogeneous; that is, the liquid bounded by the upper part of the glass has the same proportions of salt with respect to water than the mixture bounded by the lower part of the glass.
In a heterogeneous mixture, not all parts of the mixture has the same composition--some regions may have more of component A than component B (that is, component A has a higher proportion than component B in that region). An easy example would be a sand-in-water mixture in a glass, wherein considering the simplest case you can see 2 distinct phases--the phase bounded by the lower part of the glass where all the sand settles, and the phase bounded by the upper part of the glass where almost to no sand can be seen.
A harder example to realize is that the milk-in-water mixture may actually be considered heterogeneous. When viewed with a microscope, some components of milk is not actually dissolved in water. Not all of these components combine to form one phase, and they may actually remain dispersed in the mixture. In this case, the milk-in-water mixture can have infinitely many distinct phases, thus, it can be said to be heterogeneous.