Между ними такая же разница, как в английском языке между артиклями "a" и "an". Если следующее слово начинается на согласный звук, то используется предлог "о", если на гласный—"об".
о маме, о юности (ю = й + у, й—согласный звук!), о языке (я = й + а), о е... (й + э), о ё... (й + о)
об истории, об образовании
Если моя память не спит с другим, есть несколько исключений из этого правила, но я, к сожалению, не могу сейчас их вспомнить.
Есть ещё вариант "обо", о котором написал Soft sign выше. Он имеет то же самое значение и используется, как предлог "о" (т.е. перед словами, начинающимися на согласный звук).