The Project Navigator is based on hierarchies, so if you want more detail, you would need more hierarchies. To a certain level you can only get so detailed though. For example, if you had something based on processes, well logic is often shared/combined across processes and your count would get off.
It's really at this point that you should be looking through your code and seeing what's implemented. If you have wide logic, then the counts can go up quickly. If you have lots of logic, then the counts go up(duh). But it really requires understanding what your code is doing and a rough approximation of what it should synthesize to in size. Note that you're looking for two things:
1) Synthesis isn't doing what you want. For example, if you think your code should infer a RAM, and use a single RAM block, but it tends to use a lot of registers and logic, then it didn't go into the RAM and is made out of... logic and registers. This is by far the most common issue I've seen(and usually because the code isn't what it needs to be, or has an asynch reset on the RAM or something). Most other things are hard to find.
2) Inefficient code. This is often the best thing to look for. For example, you may load 16 bytes of registers simultaneously into storage registers. But if you could singly put them into a RAM and access them one-by-one, you'd save a lot of logic.
One last thing to look at is the View -> Utility Windows -> Node Finder. Look for post-fit registers and wildcard to one of these hierarchies. This basically tells you ever register in your hierarchy. This often helps get a handle of where a lot of it is getting synthesized too. It's not perfect as it's only one side of the equation(combinatorial logic being the other), but it's not a bad place to look.
Oh, and if you're not comfortable with reading HDL, the RTL viewer might help you visualize what's going on.