Теория:

Запятая ставится между частями бессоюзного сложного предложения, если его части тесно связаны по смыслу. Для таких предложений характерна интонация перечисления.
Пример:
[Был сентябрь], [желтели магнолии], [на коричневых сухих виноградниках весь день лаяли привязанные у шалашей собаки] (К. Паустовский).
Точка с запятой ставится между частями бессоюзного сложного предложения, если его части менее тесно связаны по смыслу или значительно распространены и имеют внутри себя запятые.
Пример:
[Солнце склонялось к западу и косыми жаркими лучами невыносимо жгло мне шею и щёки]; [невозможно было дотронуться до раскалённых краёв брички]; [густая пыль поднималась по дороге и наполняла воздух] (Л. Толстой).
[Толстые сосульки, свисавшие с крыш, обтаивали на солнце]; [капли, падая с них, звонко ударяли о лёд]; [по всем улицам пела капель звонкую песню весны] (К. Паустовский).
Двоеточие в бессоюзном сложном предложении ставится:
1) если вторая часть разъясняет и раскрывает содержание первой (в этом случае можно вставить а именно).
Пример:
[За Фомою Григорьевичем водилась особенного рода странность]: [он до смерти не любил пересказывать одно и то же] (И. Гоголь);
2) если в первой части есть глаголы видеть, слышать, знать, чувствовать и т. п., которые предупреждают, что далее последует изложение какого-либо факта или какое-либо описание (в этих случаях можно вставить союз что).
Пример:
[Вдруг я чувствую]: [кто-то берёт меня за плечо и толкает] (И. Тургенев).
Вместо двоеточия может быть поставлена запятая, если интонация предупреждения отсутствует.
Пример:
[Вижу], [из лесу медведь выходит]... (Ю. Герман);
3) если во второй части указывается основание, причина того, о чём говорится в первой части (между частями можно вставить союзы потому что, так как).
Пример:
[На железнодорожном переезде был опущен шлагбаум]: [со станции шёл курьерский поезд] (А. Чехов);
4) вторая часть представляет собой прямой вопрос.
Пример:
[Пробегаю в памяти всё моё прошедшее и спрашиваю себя невольно]: [зачем я жил]? [для какой цели я родился]? (М. Лермонтов).
Тире в бессоюзном сложном предложении ставится, если:
1) во второй части содержится неожиданное присоединение, указание на быстроту смены событий (при этом возможна вставка союза и).
Пример:
[Сыр выпал] — [с ним была плутовка такова] (И. Крылов);
2) вторая часть содержит противопоставление по отношению к содержанию первой (возможна вставка противительных союзов а, но).
Пример:
[Чин следовал ему] — [он службу вдруг оставил] (А. Грибоедов);
3) вторая часть заключает в себе следствие, вывод из того, о чём сообщается в первой.
Пример:
[Для рыбы нужна чистая вода] — [будем охранять наши водоёмы] (М. Пришвин).
Не следует путать знаки препинания при причинно-следственных отношениях. Двоеточие ставится, если во второй части указана причина, тире ставится, если во второй части указано следствие.
Пример:
ср.: [Выйти невозможно]: [на улице проливной дождь] (\(2\)-я часть — причина). — [На улице проливной дождь] — [выйти невозможно] (\(2\)-я часть — следствие);
4) первая часть указывает на время или условие совершения действия, обозначенного во второй (в начале предложения возможна вставка союзов когда, если).
Пример:
[Ехал сюда] — [рожь только начинала желтеть]. [Теперь уезжаю обратно] — [эту рожь люди едят], [новая опять поспевает] (М. Пришвин);
5) во второй части содержится сравнение с тем, о чём говорится в первой (при этом возможна вставка сравнительных союзов каккак будто, словно, что). 
Пример:
[Посмотрит] — [рублём подарит] (Н. Некрасов);
6) вторая часть (неполное предложение) имеет изъяснительное значение (перед ней можно вставить союз что).
Пример:
[Иногда мне думается] — [надо убежать] (М. Горький);
7) вторая часть представляет собой присоединительное предложение (перед ним можно вставить слово это; иногда оно имеется в самом предложении).
Пример:
[На стене ни одного образа] — [дурной знак] (М. Лермонтов).
Источники:
Гольцова Н. Г., Шамшин И. В., Мищерина М. А. Русский язык. 10–11 классы. Учебник. — М.: 2011. — с. 328–329.