good VHDL code will synthesise into hardware. People that write good VHDL know roughly what the circuit will look like before they write any VHDL code. So a good understanding of digital logic is much more important than understanding VHDL.
People that write code that loooks like C are usually software programmers having a go at VHDL. THey usually do a lot of things that arnt synthesisable (like use loops), use variables alot and dont understand the circuit they're trying to create, hoping that the synthesisor will do the job for them.
If this is what's happening to you, I suggest, the next time you need to write any code, you draw your circuit on a piece of paper first. VHDL is a hardware DESCRIPTION language, so if you dont know the circuit, you cannot write the code.
Do you have any specific bit of code in mind?