Do I need to build a custom page to list nodes by content type?
No need to build a custom page.  What you want to do is very simple to do with the Views module.

Just build a View to list nodes, and under Filter criteria, add a filter that only displays nodes of whatever content type you want to single out.