Если сильно упростить, то они одинаковы. Таверна не обидится, если её назовут корчмой, также как и шинок, названный кабаком.
Однако, такое богатое разнообразие названий имеет под собой несколько причин.Изначально, всё зависело от местоположения питейного заведения.
Где-то были корчмы, а где-то были трактиры. Нынешним россиянам именно "трактир" наиболее привычен слуху.Названия существовали ещё и в разное время: при Иване Грозном были практически одни кабаки (в которых, кстати, пили сначала одни опричники, потому что царь запретил продавать водку), а при Петре I уже появились трактиры.
Примечательно, что многие из этих названий, возможно, заимствованы из немецкого языка. Историки до сих пор обсуждают так ли это, но не исключено, что "трактир" появился от "тraktieren" - "угощать", а вот "кабак" - от "kabache" ("хижина).Много есть тех, кто привязывает к "трактиру" "тракт" (уже устаревшее слово, обозначающее большую проездную дорогу, пришедшее к нам из латыни. "Тraho" - "тащу"), но это не так.