Another thing I've discovered is the use of GameComponents with XNA technology. You have the ability to drag these components onto the designer and then the components will automatically start-up, update and draw for you without you haven't to code anything. It's pretty neat and making them is rather fun. I had a try at it with making a couple of them:
Once you give the BitmapFont the data file and image file generated from LMNOpc Bitmap Font Builder, you have the ability to easily draw text on the screen.
Using a BitmapFont for rendering, the Framerate component will tell you how fast your application is running
A bad thing about the XNA input framework is that it doesn't provide events to any of the input methods so you're left to instantiating KeyboardState, MouseState, GamePadState, etc. The Input component fixes this by providing a number of user input events (KeyDown, KeyUp, MouseMove, GamePadButtonDown, etc).