Hi Sam,
it depends on what you mean which is the "right place". LaTeX figures are designed to float to good places, such as to to the top of a page or to the bottom or onto a separate page, also for good automatic page breaking.
If you place it yourself, it can happen that there's space left on a page but not enough for the figure. If it doesn't float within the text, it would just go to the next page (because of missing space) and a lot of white space would remain on the previous page.
Figures don't have to be at a fixed place in the document, since you can refer to them by \ref and \label. If you don't want images to float, you don't need a figure environment.
You specified the option
h!. This allows positioning "here" and but not at other places, which is a restriction. You could write
htbp! to allow also top and bottom of a page, and on dedicated pages.
If you really would like to prevent floating and to place the figure manually, here are solutions:
Prevent floating of figures or tables.
Stefan