In this paper I review some recent, interlinked, work undertaken using cosmological perturbation theory -- a powerful technique for modelling inhomogeneities in the Universe. The common theme which underpins these pieces of work is the presence of non-adiabatic pressure, or entropy, perturbations. After a brief introduction covering the standard techniques of describing inhomogeneities in both Newtonian and relativistic cosmology, I discuss the generation of vorticity. As in classical fluid mechanics, vorticity is not present in linearized perturbation theory (unless included as an initial condition). Allowing for entropy perturbations, and working to second order in perturbation theory, I show that vorticity is generated, even in the absence of vector perturbations, by purely scalar perturbations, the source term being quadratic in the gradients of first order energy density and isocurvature, or non-adiabatic pressure perturbations. This generalizes Croccos theorem to a cosmological setting. I then introduce isocurvature perturbations in different models, focusing on the entropy perturbation in standard, concordance cosmology, and in inflationary models involving two scalar fields. As the final topic, I investigate magnetic fields, which are a potential observational consequence of vorticity in the early universe. I briefly review some recent work on including magnetic fields in perturbation theory in a consistent way. I show, using solely analytical techniques, that magnetic fields can be generated by higher order perturbations, albeit too small to provide the entire primordial seed field, in agreement with some numerical studies. I close with a summary and some potential extensions of this work.