HTML и CSS все же не языки программирования, а языки разметки и стилей. Язык разметки позволяет наметить на странице элементы, будь то текст или поле ввода. Отличие его от языка программирования в том, что на нем нельзя в привычном понятии «программировать». На HTML не создаются переменные, не пишется логика работы программы, ничего из тех параметров, которые присущи, например, JavaScript.
CSS – это таблица стилей. С помощью свойств и обозначений (классов) можно задавать элементам HTML различные визуальные свойства: цвет текста, размер, расположение относительно чего-либо.
Как и в ответе на первый вопрос, отмечу: многое зависит от потребностей. Если хотите попробовать себя в работе над веб-сайтами, то да, это можно использовать как входной этап. Но если вы еще не определились с дальнейшим развитием в данной сфере, то я бы не рекомендовал эти языки, как первые в мире IT. Посоветовал бы начать с PHP или Python – эти языки программирования достаточно простые для понимания и освоения с нуля.
Я бы сразу брался за такие большие и сложные языки, как Java или C++. Они имеют очень высокий порог вхождения и в большинстве своем отбивают желание к программированию у новичков.