To understand a camera, you need to start thinking in terms of spaces.
The beginning programmer tends to think of everything in a single space. In other words, if the player is at position (5, 5), then he is checked for collision at (5, 5) and drawn at (5, 5) and rotated at (5, 5), etc. But, in order to keep thinking that way and then change the view, you have to shift everything with the view or it all breaks.
Thinking in spaces brings out terms like World Space, Camera Space, Screen Space, Model Space, etc. A space, in this case, is a way of looking at something from a certain perspective.
Lets look at world space. World space is how your game objects are positioned relative to a common origin. If I have an object at position (5, 5), it is at position (5, 5). If I move the view, the object is still at position (5, 5), because I haven't moved the object. I've moved the view. When you do collision detection, you will always check the object against its world position of (5, 5). Even if it moves off screen, it is still sitting at world position (5, 5). It doesn't change world position, unless an action is taken to move it in the world space. Like when your character decides to go for a walk. Or when a block gets pushed around, etc.
Screen space is how your objects position up to your viewable area on the screen. When I change the view, it doesn't affect the world space. If I pan to the left some, the objects are still where they were. I'm just looking at them from a different position.
You really don't fully understand these spaces, until you know how to convert between each other. In 3D, we tend to use a view matrix to define how the world maps to the camera and then a projection matrix to determine how the camera points map to the screen. You don't have to fully understand the how's and why's to use them with XNA. There are some really good helper methods that will take care of the hard work for you. You can use these same things for a 2D sidescroller. But, I think you cab make this much simpler for your purposes.
The camera is there to help you determine how to draw a world space coordinate to the screen. With a simple 2D side scroller, you might only be concerned with moving left and right. When your camera is at (0,0), you see objects on the screen the same as their world space. When you move the camera, the only thing that happens to your drawing is a translation. So, there are two ways to go about this.
First, we can think of it in simple terms of how to convert between the spaces. If my object is at (5, 5) and I have a camera at (0, 0), then I draw my object at pixel (5, 5). If I move my camera to the right 3 pixels, then that is the same as moving my object to the left 3 pixels. So, when I draw my object, I draw at (2, 5). We don't change the location of the object. We never change the location of the object when drawing. All we do is adjust it for drawing. So, I might get the drawing coordinate with something like (objectX - cameraX, objectY). Now, all you have to do is to adjust the camera, when you feel appropriate. That might be as simple as making the camera's coordinates the same as your player's.
Hopefully, the first method helps you see how exactly how the camera operates. However, the implementation is not very ideal. If you later decided that you would want the camera to also be able to move the view up and down, you would have to go through and add similar calculations to every draw call to adjust the y values the way you want them to be adjusted. Not very effecient. So, that brings us to the second method for implementing this. SpriteBatch.Begin() includes an overloaded option to pass in a matrix. As I understand it (I actually don't do much work with spritebatch and have never used this to be 100% certain), this matrix should be applied to all your draw call points. So, to use this, you can use the Matrix.CreateTraslation() method to generate a translation based on your camera. Then pass that into the Begin() method and it will automatically adjust all of your drawings. Just remember that moving your camera to the right, means moving your objects to the left. So, you will want to create the translation using the negative values for your camera.
I hope this helps you understand the concept a bit more.