The canonical way to plot something like this is to use the groupplots library in order to arrange the plots, and the fillbetween library for the fills.
\documentclass[border=5mm]{standalone}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}% <- if you have an older installation, try 1.15 or 1.14
\usepgfplotslibrary{groupplots,fillbetween}
\DeclareMathOperator{\CDF}{cdf}
\DeclareMathOperator{\PDF}{pdf}
\begin{document}
\begin{tikzpicture}[declare function={%
normcdf(\x,\m,\s)=1/(1 + exp(-0.07056*((\x-\m)/\s)^3 - 1.5976*(\x-\m)/\s));
gauss(\x,\u,\v)=1/(\v*sqrt(2*pi))*exp(-((\x-\u)^2)/(2*\v^2));
}]
\begin{groupplot}[group style={group size=1 by 2},
xmin=-3,xmax=3,ymin=0,
domain=-3:3,xlabel=$x$,axis lines=middle,axis on top]
\nextgroupplot[ylabel=$\CDF(x)$,ymax=1.19]
\addplot[smooth, black,thick] {normcdf(x,0,1)};
\draw[cyan!30,very thick,stealth-stealth]
(0.7,0) coordinate (t) -- (0.7,{normcdf(0.7,0,1)});
\draw[thick,dashed] (0.7,{normcdf(0.7,0,1)}) -- (0,{normcdf(0.7,0,1)});
\draw[thick,stealth-] (0,{normcdf(0.7,0,1)}) -- (-1,{normcdf(0.7,0,1)})
node[circle,fill,inner sep=1.5pt,label=left:{$P$}]{};
\nextgroupplot[ylabel=$\PDF(x)$,ytick=\empty,ymax=0.6]
\addplot[smooth, black,thick,name path=gauss] {gauss(x,0,1)};
\path[name path=B] (\pgfkeysvalueof{/pgfplots/xmin},0) -- (\pgfkeysvalueof{/pgfplots/xmax},0);
\addplot [cyan!30] fill between [
of=gauss and B,soft clip={domain=\pgfkeysvalueof{/pgfplots/xmin}:0.7},
];
\draw[thick,stealth-] (-0.5,{0.5*gauss(-0.5,0,1)})
-- (-1.5,{0.5*gauss(-0.5,0,1)}) node[circle,fill,inner sep=1.5pt,label=left:{$P$}]{};
\path (0.7,0) coordinate (b);
\end{groupplot}
\draw[thick,dashed] (t) -- (b);
\end{tikzpicture}
\end{document}

This can certainly be animated if it is clear which parameter should vary. Assuming you want to vary the horizontal position (0.7 in the example), you could compile the:
\documentclass[tikz,border=5mm]{standalone}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}% <- if you have an older installation, try 1.15 or 1.14
\usepgfplotslibrary{groupplots,fillbetween}
\DeclareMathOperator{\CDF}{cdf}
\DeclareMathOperator{\PDF}{pdf}
\begin{document}
\foreach \X in {-2.5,-2.4,...,2.4}
{\begin{tikzpicture}[declare function={%
normcdf(\x,\m,\s)=1/(1 + exp(-0.07056*((\x-\m)/\s)^3 - 1.5976*(\x-\m)/\s));
gauss(\x,\u,\v)=1/(\v*sqrt(2*pi))*exp(-((\x-\u)^2)/(2*\v^2));
}]
\pgfmathtruncatemacro{\mysign}{sign(\X)}
\begin{groupplot}[group style={group size=1 by 2},
xmin=-3,xmax=3,ymin=0,
domain=-3:3,xlabel=$x$,axis lines=middle,axis on top]
\nextgroupplot[ylabel=$\CDF(x)$,ymax=1.19]
\addplot[smooth, black,thick] {normcdf(x,0,1)};
\draw[cyan!30,very thick,stealth-stealth]
(\X,0) coordinate (t) -- (\X,{normcdf(\X,0,1)});
\draw[thick,dashed] (\X,{normcdf(\X,0,1)}) -- (0,{normcdf(\X,0,1)});
\ifnum\mysign>0
\draw[thick,stealth-] (0,{normcdf(\X,0,1)}) -- (-1,{normcdf(\X,0,1)})
node[circle,fill,inner sep=1.5pt,label=left:{$P$}]{};
\else
\draw[thick,stealth-] (0,{normcdf(\X,0,1)}) -- (1,{normcdf(\X,0,1)})
node[circle,fill,inner sep=1.5pt,label=right:{$P$}]{};
\fi
\nextgroupplot[ylabel={},ytick=\empty,ymax=0.6]
\addplot[smooth, black,thick,name path=gauss] {gauss(x,0,1)};
\path[name path=B] (\pgfkeysvalueof{/pgfplots/xmin},0) -- (\pgfkeysvalueof{/pgfplots/xmax},0);
\addplot [cyan!30] fill between [
of=gauss and B,soft clip={domain=\pgfkeysvalueof{/pgfplots/xmin}:\X},
];
\ifnum\mysign>0
\draw[thick,stealth-] ({-1.5+\X/2},{0.5*gauss(-1.5+\X/2,0,1)})
-- (-2,0.4)
node[circle,fill,inner sep=1.5pt,label=left:{$P$}]{};
\else
\draw[thick,stealth-] ({-1.5+\X/2},{0.5*gauss(-1.5+\X/2,0,1)})
-- (2,0.4)
node[circle,fill,inner sep=1.5pt,label=left:{$P$}]{};
\fi
\path (\X,0) coordinate (b);
\end{groupplot}
\draw[thick,dashed] (t) -- (b);
\end{tikzpicture}}
\end{document}
and then use
convert -density 300 -delay 44 -loop 0 -alpha remove file.pdf ani.gif
as explained here to get
