Why should the "H" option not be used in floats?

[H] makes the figure not float so

\begin[figure}[H]
...
\caption{..}
\end{figure}

is (with just minor edge case and spacing differences) the same as

\begin{minipage}{\columnwidth}
...
\captionof{figure}{...}
\end{minipage}

The choice of either of the above is just a matter of personal preference. Either is fine.

So the choice isn't really the H option it is float or not float.

A common question after using a non-float is why is there ugly white space. The easy (but not that helpful) answer to that is that the reason latex moves floats is to avoid bad white space at page breaks so by using a non-float then by design you are choosing bad spacing rather than accept floating figures.

That is half-true but the other aspect is that there are limits on latex's ability to find good float positions and for some documents an optimal positioning of the floats can only currently be achieved by positioning the figures by hand. This is of course a fragile process, any edit to the document might mean that the position of figures has to be manually changed to fit the new page breaking, however if you have spent three years writing a thesis, spending a week manually positioning the figures is not necessarily a wrong thing to do, however if you can tune the automatic float placement to get an acceptable layout, that is probably a better option in most cases.


The option H disables floating (but allows captions) so the question can be reworded to "Why should I let figures and tables float?".

A lot of people have difficulties to adjust to the concept of floating. They write "as can be seen in the following tabular .." and so don't like it if the tabular floats away. Also it can be quite painful to have to go constantly to another page to check the content of a table or figure referenced in the text. So imho the wish to avoid floating is quite understandable.

On the other side: tables (and figures) are often referenced in various parts of a text, so there is often no natural position for the table anyway. Tables in the middle of the text can interrupt and disturb the reading. Large (non-floating) objects can make it difficult to avoid pages with lots of white spaces -- something most people don't like either.

I wouldn't say that one shouldn't use H -- I have seen texts, where is was the best option: e.g. lots of short paragraphs which described a specific plot. But one should carefully weight the pros and cons and not forget technical details like the numbering order.

Addition

The option H can be very useful while drafting or adjusting a document when set as default (with \renewcommand*{\fps@figure}{H}. One can then see where the floats are (more or less) meant to be and better judge how it affects the layout when they are not allowed to float.


Ok, I will try answering this.


Since it will be long, here a TL;DR:

  1. H is usually wrong because it's basically the same as not using a floating environment (so why use one), and because does not give a chance to LaTeX to achieve a good (calculated) page break.

  2. The default alternative is tbp ie \begin{table}[tbp] is the same as \begin{table}. tbp means that the table is placed whichever LaTeX considers best among the top of the page, the bottom of the page and on a page composed only of floats. This is usually best

  3. One could add also the h (to tbp) to make LaTeX consider to place the float exactly where it's declared (if feasible and with good results) sometimes it's useful. Eg. one could say \begin{figure}[htbp]

  4. One can also reduce the options, with the caveat that LaTeX could possibly not find a good placement (and send all the floats to the end). This is nevertheless sometimes good for fine tuning, eg begin{table}[tb]. The less the alternatives, the riskier (in terms of page composition) the pagebreaking is.


Now with the answer:

Basically the TeX related systems are good in make typographic choices, and especially they are usually better in those than the average beginner.

The choices regard paging, paragraph making and float positioning; they're all intertwined. LaTeX may not be the best at page breaking, which can require some manual adjusting, but the result is, in my opinion, pretty decent and way better than what a beginner with no typographic background can achieve (I remark that this is my opinion).

Nevertheless, one has to understand that the float position can be influenced by many things (e.g. references to it, how much of the page it occupies) and it is considered more elegant and less obtrusive to have a figure or table at the top or bottom of the page or on a page of its own. In fact it does not disrupt the "reading flow" and makes the text uniform. Using floating environments usually gives both the text and the floats the space they deserve to be enhanced without reducing the space of the other one. A table in the middle of the text or something like that tends to disturb the "natural greyness" of the text, for example, which some typographers (e.g. Jan Tschichold) consider the most important thing about the text.

So usually it's best to give the float some space and keep it separate, as an easy-to-use reference (if one wants to look at it - nothing is mandatory), but an unobtrusive one.

LaTeX tries and places the floats in a way that give the "best" composition (it has a concept of badness in making pages, and tries to make it the least possible). Sometimes many runs of LaTeX are necessary to "stabilize" the positioning of the floats.

The H option never gives LaTeX a chance to determine the best badness possible, but forces it to put the float immediately where it's declared. That is almost always wrong, because no effort is made to make the pages better.

The default option is tbp which is "try at the top, or at the bottom or on another page". It gives the best flexibility and usually it's the best choice. Sometimes one can add the h letter to try and position the float where it's declared, but what I stated above still applies, and it is usually not a great choice, although sometimes it allows LaTeX to make a good paging. Reducing the alternatives can force LaTeX to put the figures at the end of the chapter/article, due to lack of places where to put them.

I feel almost always the best choice is the default one: any adjustment should help LaTeX achieve a better composition and pagebreaking, and not force LaTeX to follow our arbitrary demands. Also, I feel that this reduces the amount of manual adjusting needed to fine tune the document and overcome the problems in LaTeX pagination.