Hi Marcos,
As you start to use various vendor tools, you'll find they all have shortcomings. The best way to track down annoying errors is often to try (at least) two tools. I typically start with Modelsim for HDL development, and then switch to synthesis once I have a testbench working. Quartus sometimes catches errors that Modelsim misses, eg., signals in sensitivity lists is one that I sometimes see.
That being said, Modelsim is not fault-free. This week I had QuestaSim crashing repeatedly with a Xilinx BRAM/FIFO model and the solution was to add "-t ps" to the command-line. This argument is often needed for PLLs, but I hadn't bumped into it for RAM, and was not expecting the tool to crash with a floating-point error.
Bottom-line, the tools have bugs, and you figure out how to deal with them. As for coding, after you've made the some coding error a few times, you recognize the solution to the error message (whether that message is actually useful or not!).
Cheers,
Dave