Теория:

Паронимы (от греч. para — «возле, рядом» \(+\) onyma — «имя») — это слова, похожие по написанию и звучанию, но разные по значению.
Пример:
НАДЕТЬ и ОДЕТЬ.
Надеть можно что-то на кого-то (надеть шапку), а одеть кого-то во что-то (одеть детей).
Паронимы следует отличать от омонимов. Если омонимы полностью совпадают в звучании и/или написании, то паронимы в написании лишь схожи.
Пример:
омонимы (одинаковое написание): зелёный лук (растение) — охотничий лук (оружие);
паронимы (имеют незначительные различия в написании): купить абонемент (билет) — абонент (пользователь) недоступен.
Паронимы следует отличать от синонимов. Синонимы могут заменять друг друга в предложениях или сочетаниях, так как близки по значению. Паронимы не могут быть взаимозаменяемыми, так как они имеют разные значения.
Пример:
вчера был тяжёлый день. Вчера был сложный день. Вчера был трудный день.
Тяжёлый, сложный, трудный — синонимы (взаимозаменяемы).
 
Из воды мелькнул рыбий хвост. Мама сварила рыбный суп.
РЫБИЙ и РЫБНЫЙ — паронимы. Они схожи в написании, но имеют разные значения.
Рыбий — принадлежащий рыбе.
Рыбный — сделанный из рыбы.
Неверное употребление паронимов в речи считается речевой ошибкой.
Чтобы избежать ошибок в употреблении паронимов, нужно проверять лексическое значение слова.
Пример:
определим, с какими словами надо употребить паронимы УДАЧЛИВЫЙ и УДАЧНЫЙ.
Обратимся к словарю.
Удачный — завершившийся удачей. Удачливый — такой, которому сопутствует удача.
Удачливый человек — человек, которому сопутствует удача. Удачный день — день, завершившийся удачей.