I believe that is not ReplaceAll.. more likely it extracts x[t] from s, just like when you extract the solution for a parameter when you use Solve[].
I am not sure why would you need Evaluate[] there. The Plot[] function seems to work well without it.
In general, I have used it only once or twice, when I had an expression as an argument. It is a safe bet to use it in these kind of cases, but I would like to hear from someone with good lexical scoping knowledge in Mathematica, what happens when we use Evaluate in this case and when we don't? Does the program do something unnecessary in the first case?
The plot can also be generated with:
Plot[ s[[1,1,2]][t], {t, 0, 30}, PlotRange -> All]