Разница в ситуациях, где эти слова используются.
Труп - это тело умершего человека, мертвое. Это слово используется в медицине, следственной практике. Оно безотносительно к личности умершего.
Мертвец - это умерший человек. Не удивительно, что слово часто используется в фольклоре (страшные рассказы, былички) и фантастике ("Ожившие мертвецы"). В слове "мертвец" проглядывает отношение к умершему как к личности, а не просто набору органов.
Покойник - тот, кто упокоился. Само слово указывает, что предназначено для обрядовой практики и связано с религиозными и этическими концепциями. Жизнь - без покойство, а человек обрел вечный покой или отправился в место упокоения (рай). В ритуальной практике трудно себе представить, чтобы умершего называли "труп" и "мертвец". "Покойник" - слово с благоговейной уважительной окраской.