Many people don't fully recognise that writing is a complex technical task. We often tend to think that because we speak the language fluently, writing clear sentences just comes naturally. Well, it CAN come naturally, but it's important not to take it for granted.
I sometimes like to use the phrase "sentence engineering" to describe the way I think about writing. A sentence can be thought of as a sort of machine, designed to transport an idea from one head to another. These machines are constructed out of a number of standard parts which fit together according to certain principles of grammar, and the precise idea expressed by the sentence is a function of these gramatical rules operating on the component words.
Now, most people have a pretty fair grasp of the rules of grammar, and a decent command of the vocabulary as well. As a result, just about anyone who speaks the language can assemble a sentence that will do the job in spoken conversation. Just grab some of the right words and snap them together an approximately the right order, and that should be enough for most purposes.
Of course, in conversation the error tolerance is pretty high, since there are so many extra information channels available, and feedback and error-checking as well. In written communication, one does not enjoy these luxuries, so it takes more effort to make sure that one's sentences actually express the meaning they are intended to express. There are an infinite number of ways this can be done (just as there are an infinite number of ways one can construct a NAND gate, given enough transistors), and it's easy to get the meaning right if you use enough words. However, there is a cost involved. Just as an inefficient circuit will use more energy than necessary, so will an inefficient sentence. Indeed, a text that is too long and convoluted will often not work at all, even if it is grammatically correct, because the reader may get confused or bored and give up before the meaning is transmitted. So the trick is not just to express the meaning, but to do so as efficiently as possible, using only as many words as is necessary.
To do that, you need to have a solid understanding of grammar to put the words together effectively. You need to be intimately familiar with the characteristics of the parts you use to build your sentences. You need to know what each word can do, as well as how it might fail in a given situation, so you need to have a clear grasp of etymology. It's extremely useful to know another language or two. It also helps a lot to know something of the Latin and Greek roots of words.
This sort of technical knowledge is essential, but it's only a start. All the fancy-book-larnin' about adverbs and subordinate clauses is next to useless without imagination. You need to have some creativity in imagining how a reader might misinterpret your grammatically correct sentence, because the grammar of natural languages is often ambiguous ("cast iron sinks" can be either a declarative sentence or a noun phrase). You also need to be respectful and tolerant of differences. You can't simply ignore a possible misinterpretation as stupid, assuming that the reader will know what you mean if they've any brains at all. We all have different experiences and vocabularies, and even very intelligent people can and do frequently read sentences to mean the opposite of what the author meant.
That's why I call it sentence engineering. You're building a machine that's intended to perform in a certain way, but once the machine has left your factory, you have no further control over what people will use it for. So it's really important to design in safeguards.