I originally designed the site using pages, and changed them because of a technical issue, which then lead to me reading that it's a bad practice. Essentially every article I found (and many conversations on these forums) stated that using pages almost always fights against what WordPress naturally does, and just creates a messy site. Every topic where people had the same questions as me, they thought pages were the trick, but we all eventually found out that using the template hierarchy and posts was the way to go.
As for custom posts types, I've read about those, but I'm not sure they're a good fit here. I'm not trying to create a post that's using formatting based off of a php file, I'm trying to create pages, with lots of content from all over. Imagine this:
site.com/restaurants/specific-restaurant OR site.com/restaurants/listing
site.com/restaurants would use the category template. Here you could easily use query_posts to list the most recent, some featured post, etc. Think of it as a home page, for a single category, rather than the classic listing of all posts (default behavior).
Then site.com/restaurants/specific-restaurant is simply a post, about a specific restaurant (there would be many of these).
Lastly, you want to list all of the restaurants on a page, perhaps with some featured restaurants at the top, or the ability to sort the restaurants a certain way (not really post material if you see my point). This would be at site.com/restaurants/listing, and would WANT to use a .php page for it's styling, but how?!
If you followed along, I think you can see how my image is a very good site structure. It's very logical, it handles my data well, and the navigation makes sense. I simply want to figure out how to give a page with a url beyond category, the ability to be a .php script.