It is fairly easy to write process matrix elements at leading order (LO). Recently, it has become fairly standard to have next-to-leading order QCD (NLO), and for some processes NNLO and above, matrix elements.
What do these tell us? Well, for example in the production of a Z boson, the LO element describes the process q\bar{q}\to Z. The NLO matrix element describes two things. Firstly, the real corrections, where an extra strong object exists in the final state (e.g. qg\to Zq or qq\to Zg), and secondly the virtual corrections, where, for example, a gluon is exchanged between initial state quarks, or the Z splits to a quark loop.
Clearly, the number of diagrams (and mathematical gymnastics) become more and more at each order in QCD. However, for collider experiments we are well aware that we 'always' get Z + n jets. How can we describe the n jets without explicit matrix element calculations?
Parton showers are how we accomplish this without having to write explicit matrix element calculations to arbitrary order. Of course, this means we lose something... Parton showers generally work at the leading log level (i.e. following the DGLAP QCD evolution - look it up!). Essentially, the DGLAP equations describe how quarks and gluons behave at a given momentum scale - how they split (and give extra strong object - which we see as jets - in the final state) and evolve.
You then enter the lovely realm of matching... If I have a NLO matrix element, and a leading log parton shower, how to I make sure I don't double-count the first jet? Does it come from the matrix element, or the parton shower? This stuff is for people braver than me...