Changes in the Android 2.3.3 Gingerbread source will allow applications to take screenshots without rooting your phone. "Up until now, all the Android app screenshots you've seen floating around have been taken using either the Android SDK or third-party applications which require root access. That's because Android -- unlike webOS and iOS -- hasn't provided a simple way for users to capture images on their devices' screens."
But with Android 2.3.3 it appears that apps will be able to do it without rooting on stock Android. This’s because of some changes in the way the SurfaceFlinger service handles what it captures from the framebuffer. The non-geeky version: Android 2.3.3 isn't as stingy with allowing apps to intercept what's being displayed on the screen.
Of course we’ve to wait for 2.3.3, but if you've rooted and are already rocking Gingerbread, then you can use any of the methods on the Market to capture your screen if you're already rooted.