смешной – вызывающий смех; funny: смешная шутка, смешная комедия.
весёлый – доставляющий радость, положительные эмоции: весёлая музыка; весёлый смех; весёлый человек.
Оба слова нейтральные по стилю и очень частотные.
Разница между "смешной" и "весёлый" ПРИБЛИЗИТЕЛЬНО такая же как между английскими прилагательными funny и fun.
прикольный – разговорное слово, очень частотное; в узком смысле может использоваться как синоним к слову "смешной", но как правило употребляется в более широком смысле для обозначения всего интересного, необычного, оригинального. "Прикольным" может быть всё, что по той или иной причине привлекает ваше внимание: прикольная вещь, прикольное кино, прикольная музыка, прикольная одежда, прикольный человек etc. Как правило, употребляется в позитивном смысле.
забавный – нейтральное по стилю.
1) может быть близким по значению к "смешной", но "забавный" это скорее просто вызывающий улыбку, нежели смех;
2) интересный, необычный, прикольный.
Часто используется в саркастическом смысле. К примеру, если кто-то говорит, что у вас "прикольная причёска", то это скорее всего комплимент; если говорят "забавная причёска", то тут можно начать беспокоиться. (Хотя, если речь идёт о сарказме, всё сильно зависит от интонации)