We consider three different sets of shallow water equations representing three levels of approximation to the full Euler equations: the simple hyperbolic shallow water (SW) equations, and two sets of dispersive equations---the weakly nonlinear generalized Boussinesq (gB) equations, and the fully nonlinear Green-Naghdi (GN) equations. After presently a consistent derivation of them, we compare the numerical solutions of these equations for flow past bottom topography in different flow regimes. For some of the cases the full Euler solutions are computed as a reference. The SW solutions are good only when the flows are entirely subcritical or entirely supercritical and when the obstacles are very wide compared to the depth of the fluid. The comparisons also show that while the gB solutions are accurate only for small bottom topographies (less than 20\% of the undisturbed fluid depth), the GN solutions are accurate for much larger topographies (up to 65\% of the undisturbed fluid depth). The limitation of the gB approximation to small topographies is primarily due to the generation of large amplitude upstream propagating solitary waves at transcritical Froude numbers. The GN approximation is thus verified to be a better system to use in cases where the bottom topographies are large or when the bottom topographies are moderate but the flow transcritical.