Another problem I personally struggle with in peer-review publication process is the situation when review takes really, really, really long. The precise definition of "long" is probably very area-specific: for example a paper in Maths will probably took longer to review than one in Physics. Many well-established journals and major publishers, sadly, prefer not to specify the "rules of the game" precisely, particularly how long the review process should normally take. Fortunately, I quite often serve as a referee with the very same journals and know the amount of time I am given to write a review. Unfortunately, when I am an author, I do not observe these deadlines to be always met. For example, a notable U.S. publisher would ask a reviewer to send a review in 2 months; but in practice a first review of my paper once took as long as 8 months.
As a rule of thumb, I usually start writing to editors with questions about "the status of my paper" in X+1 months time, when X is a deadline time for a reviewer to submit a review. This strategy is not particularly successful — what I usually get is a recommendation to be more patient. Since there is no "official" deadline time announced, there is no formal ground for complaints here.
Of course, such delays lead to a whole bunch of funny situations, particularly if a preprint is put online (e.g., on arXiv) and the results are presented in some conferences. Follow-ups with no official paper to cite, grant applications in which you can not justify by a solid publication, good research but bad bibliometrics or CV, to name just a few.
Could you recommend an efficient way to deal with this problem?