Well, first of all, don't panic!
Second, your configuration with the geometry package seems about right, so there shouldn't be any problems if that is indeed what you want your margins to be. You can see this by also setting the option showframe, e.g.:
\usepackage[inner=3cm,outer=2cm,tmargin=2.0cm,bmargin=2.0cm,includefoot,includehead,showframe]{geometry}
Furthermore, you can check your layout lengths with the layouts package (see here)
\documentclass[12pt,twoside,a4paper]{scrbook}
\usepackage[inner=3cm,outer=2cm,tmargin=2.0cm,bmargin=2.0cm,includefoot,includehead,showframe]{geometry}
\usepackage{layouts}
\usepackage{kantlipsum}
\begin{document}
%Recto Page
\kant[1-3]
%Verso Page
\newpage
\printinunitsof{mm}{\pagevalues}
\verb|\marginparwidth|: \printinunitsof{mm}\prntlen{\marginparwidth}
\pagediagram
\end{document}

Third, a stated by @samcarter and @Arne, there is a tolerance related to every printer and even every sheet of paper! So don't be so hard on yourself if you see some minor discrepancies.
hyperref, add the optionpdfprintscaling=None. At least for Adobe’s PDF reader, this affects the initial setting for page scaling in the print dialog. – Thérèse Jun 23 '14 at 13:44