Слово greeting означает приветствие и обычно не подразумевает поздравления с чем либо конкретным. Слово же congratulation используется именно для поздравления и из включающей его фразы или же из контекста должно быть ясно с каким именно событием поздравляют (пример: поздравить с днём рождения можно типичной фразой my congratulations on your birthday [and many happy returns of the day]!). Часто, congratulation означает, что один собеседник рад за достижения другого собеседника (и сама фраза является congratulation и содержать она может это слово, e.g. "my congratulations!").
Сразу замечу, что разница между этими словами в английском действительно немного размыта и greeting тоже может обозначать поздравление -- скажем, вас поздравляют с новым годом, а вы им в ответ "many happy returns". Как назвать ваш подобный ответ с хорошими пожеланиями? Это тоже greeting! Итак, следует признать, что у слова greeting два значения: просто приветствие и пожелание чего-то хорошего (а вот само слово greeting вряд ли вы увидите в составе фразы с поздравлением, оно всё-таки больше для всевозможных приветствий).
(Сравните: в русском, пожелание "всего доброго", напротив, используется как прощание. :) )