When cumulative updates are released, they are always released for two branches simultaneously. So for SQL Server 2005, there is a CU for SP2 and one for SP3; for SQL Server 2008, there is a CU for RTM and one for SP1. While I think it is great that the servicing model focuses on the two primary supported version branches when publishing fixes, it becomes confusing when people find that a fix is in one branch but not the other. In the worst case scenario, this can lead to people being falsely comforted because they think a fix in one branch is automatically included in the other. I documented a few of these cases in blog posts:
There are obviously plenty of fixes that make it into both branches at the same time, but there are certainly many cases where the fix is only found in one branch (typically the branch where the fix was first required by the customer who reported the problem). This is a case of practicality; I understand that if you wanted to get both branches completely up to date, you may as well merge to one branch and abandon the lower version, because otherwise it will be unlikely you will ever have a congruent set of fixes in both branches. But the documentation around this could be much better... I don't want to have to follow that same mundane process I used in the above two posts to figure out the delta between two CUs.