Что лучше показывать 404 ошибку на странице или перенаправлять на 404?
С точки зрения Вебразработки - по стандарту HTTP сервер должен отдавать 404 если страница не найдена (не меняя её URL). Редирект 301/302/307/308 делается когда точно известна куда была перемещена страница.
Редирект на страницу, которая отдаст браузеру 404, вводит посетителя в заблуждение - не понятно какой URL оказался битым и его невозможно исправить вручную.

С точки зрения Поисковой оптимизации - надо давать "200 OK", типовую заставку "Страница не найдена" и ставить с неё ссылку на главную страницу сайта (или мини-меню по разделам).
Поисковики их "склеят по контенту" в одну страницу, но это позволит подобрать статический вес внешних(и внутренних) ссылок на такие не найденные страницы.
Перенаправлять, наверное. Можно будет удобно редактировать страницу 404.