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