if you write it structurally, you're telling the synthesisor how to do its job. With the c <= a+b; you're letting the synthesisor do what it thinks it is best.
Usually, nowadays, the c <= a + b; form is better as the synthesisor is cleverer than most humans (as well as being more readable).