The service pack incorporates changes and updates based on the feedback from "more than 180 partners in 11 countries". It comes with quite a number of user interface updates, but also a lot of work has gone into improving the SDK and the underlying system of Surface.
When it comes to the user interface changes, Microsoft has focussed its efforts on tailoring the UI for touch. Many of the additions are a little hard to put into words, so the best way to learn them is to simply show them (video from CrunchGear).
There have also been a number of changes under-the-hood. The SDK has been further improved to allow for support for any .NET framework; they're also ahrd at work at integrating WPF and XNA. As you could see in the video, the identity tags have been refined, and now support storing 128bits of data. Support for Windows Update has been added as well - quite perplexing though that it wasn't in there in the first place. They also added a stress-test application (you can see it running at the end of the video above) which, as the name implies, makes sure applications can actually handle boatloads of touch inputs at the same time.
Loosely related to the release of SP1 for Surface is Microsoft's ambition to standardise gestures across their products, from Surface, to Windows 7, to Windows Mobile. The goal is to make sure that one gesture will yield the same result in all those products, so that you only have to learn one set of gestures.
In the meantime, Microsoft is also at work on the next-generation of Surface, which is said to include an additional projector which can project images above the actual Surface display in the form of overlays. This second generation is still 2-3 years away, however.
I hope prices for Surface machines come down soon, and that Microsoft will start offering them to ordinary consumers. This is some great and fun technology.