We look at two classes of contained flow: swirling flow and buoyancy-driven flow. We note that the strong links between these arise from the way in which vorticity is generated and propagated within each. We take advantage of this shared behaviour to investigate the structure of steady-state solutions of the governing equations. First, we look at flows with a small but finite viscosity. Here we find that, Batchelor regions apart, the steady state for each type of flow must consist of a quiescent stratified core, bounded by high-speed wall jets. (In the case of swirling flow, this is a radial stratification of angular momentum.) We then give a general, if approximate, method for finding these steady-state flow fields. This employs a momentum-integral technique for handling the boundary layers. The resulting predictions compare favourably with numerical experiments. Finally, we address the problem of inviscid steady states, where there is a well-known class of steady solutions, but where the question of the stability of these solutions remains unresolved. Starting with swirling flow, we use an energy minimization technique to show that stable solutions of arbitrary net azimuthal vorticity do indeed exist. However, the analogy with buoyancy-driven flow suggests that these solutions are all of a degenerate, stratified form. If this is so, then the energy minimization technique, which conserves vortical invariants, may mimic the stratification of temperature or angular momentum in a turbulent flow.