We study the KP hierarchy through its relationship with S-functions. Using results from the classical theory of symmetric functions, the Plücker equations for the hierarchy are derived from the tau function bilinear identity and are given in terms of composite S-functions. Their connection to the Hirota bilinear form of the hierarchy is clarified. A novel combinatorial proof is given of the fact that Schur polynomials solve the KP hierarchy. We show how the analysis can be carried through for the BKP hierarchy in a completely parallel fashion, with the S-functions replaced by Schur Q-functions.