How to pull a list of applied service packs and cumulative updates from SQL Server 2008 R2?
Cumulative updates are exactly that, cumulative. CU2 for example contains all of the fixes included in CU1. As such, the only SP or CU that matters is the last one to be applied which you can determine with:

SELECT @@VERSION


and Google or a reference list of SQL Server versions. SQLServerBuilds is the popular unofficial list, KB321185 is the official list.

I'm not aware of any way to obtain a complete list of all patches that have ever been applied to an instance. It's likely buried in the registry somewhere but I haven't fished for it.