Можно создать хороший сайт с помощью CMS, и можно создать плохой сайт на любых языках. front end: HTML, CSS, JavaScript back end: какой-нибудь серверный язык (PHP, Python, Ruby, Go, Java, C#, JavaScript, …), база данных (MySQL, PostgreSQL, MongoDB, …)