ViewData - это инструмент из ASP.NET Core MVC - старых MVC проектов. Он нужен, чтобы обойти строгую типизацию и передавать опциональные параметры.
PageModel - это уже новый фреймворк, который построен поверх MVC и сделан на упор в одностраничник, т.е. мы сразу можем что на странице должно быть отображено. Поэтому ViewData уже не особо нужен.
В итоге, использовать ViewData стоит если есть какие-то опциональные, transient данные, которые можно использовать. В примерах это заголовок страницы.