The easiest way to build a game is with 2-D drawing, where you paint flat images and text onto the screen. When we talk about 2-D game programming versus 3-D game programming, we're really talking about the set of APIs used to program the drawing code. A 2-D API is typically much simpler than a 3-D API, which entails a scene graph, lighting sources, camera positions, textures, shaders, and more!
When you build a 2-D XNA game, rendering images (that is, AKA textures) to the screen is the primary way of giving visual feedback to the user. XNA gives you a lot of ways to manipulate these images, by giving you control over the following:
You use two classes when doing 2-D drawing on XNA. You use ContentManager to load images into memory, and you use SpriteBatch class to paint these images to the screen.
COMMON MISTAKES With XNA, you have to provide all your images ahead of time; there's no easy way to compose images together at runtime. Silverlight lets you put things together using rectangles, paths, ...