Да, я бы сказала, что "из-за" имеет более нейтральный оттенок (="because of"), в то время как "благодаря" (="thanks to") обычно относится к чему-то хорошему. Например:
Я осталась дома из-за плохой погоды. (все верно)
Я осталась дома благодаря плохой погоде. (это звучит так, будто я на самом деле хотела остаться дома и была рада плохой погоде)
Грамматическая же разница состоит в том, что после "из-за" существительное / местоимение стоит в родительном падеже ("Из-за чего?" - "Из-за погоды, из-за дождя". "Из-за кого?" - "Из-за Ивана / из-за него / из-за соседей"), а после "благодаря" - в дательном ("Благодаря чему?" - "Благодаря погоде, благодаря дождю". "Благодаря кому?" - "Благодаря Ивану / благодаря ему / благодаря соседям").
К слову, в обоих случаях можно использовать составные союзы:
Из-за того, что погода была плохой, я осталась дома.
Благодаря тому, что погода была хорошей, я смогла сходить в парк.
Если кого-то или что-то можно обвинить в случившемся - используется "из-за".
Если кого-то или что-то можно поблагодарить за случившееся - используется "благорадя".
из-за - более универсально, больше используется с негативным оттенком, или нейтральным.
Пример:
Из-за плохой езды, машина попала в аварию.
Из-за плохой погоды, отменили рейс.
Благодаря, используется в позитивном контексте.
Пример:
Благодаря усердию, он добился хороших результатов.
+1 к комментарию Марии.
И еще кое-что. Запятые после одиночных предлогов "из-за" и "благодаря" не ставятся:
Из-за плохой погоды я осталась дома.
Благодаря хорошей погоде я смогла сходить в парк.
Здесь запятые не нужны. Они ставятся только в том случае, когда используются составные конструкции "из-за того, что..." и "благодаря тому, что..."
Соглашусь со всеми выше стоящими комментарии, от себя только добавлю, что "благодаря" используется и в негативном контексте с сарказмом...