Minimal example:
\documentclass{minimal}
\usepackage{tikz}
\usepackage{pgfplots}
%\pgfplotsset{compat=newest} % has no effect here
\begin{document}
\begin{tikzpicture}
\begin{axis}[]
% Does not work with table or coordinates
\def \pts {(0.1,0.075) (0.15,0.45) (0.20,0.475) (0.25,0.175) (0.3,0.025)}
\addplot[smooth] coordinates {\pts};
\addplot[smooth, fill=red, domain={0.2:0.25}] coordinates {\pts} \closedcycle;
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[]
% Does not work with table or coordinates
\def \pts {(0.1,0.075) (0.15,0.45) (0.20,0.475) (0.25,0.175) (0.3,0.025)}
\addplot[smooth] coordinates {\pts};
\addplot[smooth, fill=red, restrict x to domain={0.2:0.25}] coordinates {\pts} \closedcycle;
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[]
% Works with expression
\addplot[smooth, domain=0:20] {x*x};
\addplot[smooth, fill=blue, domain={10.5:12}] {x*x} \closedcycle;
\end{axis}
\end{tikzpicture}
\end{document}
Result: 
The problem with the second graph is that the plot is jagged (because the smoothing/interpolation algorithm does not have the same inputs).

restrict <x,y> to domaindiscards the coordinates. – percusse Apr 05 '15 at 13:53