Однородные члены соединяются между собой или без союзов, или при помощи сочинительных союзов.
Между однородными членами предложения ставится запятая:
1) если они соединяются без союзов: Птицы шли по небу ровно, спокойно, красиво (Яш.);
2) если они соединяются противительными союзами а, но, однако, зато, да (в значении но): Скупой запирает крепко, а потчует редко (Посл.); Лучше скажи мало, но хорошо (К. Пр.); Мы не надеялись никогда более встретиться, однако встретились (Л.); Приют наш мал, зато спокоен (Л.); Иной стреляет редко, да (=но) попадает метко (посл.).
Запятая между однородными членами не ставится, если они соединены неповторяющимися соединительными или разделительными союзами и, да (в значении и), или, либо, например: До сегодня еще мне снится наше поле, луга и лес (Ес.); Ночью ветер злится да (=и) стучит в окно (Фет); Я не знаю, то свет или мрак? В чаще ветер поет иль петух? (Ес.)
Однородные члены предложения могут соединяться двойными союзами как...так и; не только..но и; не столько...сколько; если не...то; хотя и...но (да).
Запятая в этом случае ставится один раз - перед второй частью союза