Quote: "But what is the theory behind scrolling?"
Lets see if I can explain this well. The point of scrolling is to only draw what you need to on the screen but have a world as big as you would like as it would be pointless to draw everything probably could crush the fps. An easy way to handle this is tile based, usually used with maps broken into tiles to form a unique map.
For tile based scrolling, you would have a grid system. All the tiles would be put into the grid and you would loop through the grid to draw the tiles. You would only go as far as how many tiles the screen can fit and move along the grid.
So if you started at (0,0) on the grid and can only draw 32 tiles horizontally and 24 tiles vertically. You would loop through the grid to find what to draw and everything outside wouldn't be drawn. So the tile at (10,1) would be draw but tile (32,26) wouldn't. But if you moved the starting position to (0,5) then (10,1) wouldn't be drawn and something like (32,26) would be.
Now if you didn't use a tile based system and use a grid you would just see if a sprite was in the range of the camera to draw it. Using an offset position to move around and the screen size and sprite size to check if it is in range.
For physics, the box2D world is completely separate to the visual representation of it so you would check the box2D world for positions and if it is in range then draw it at the relative position.
Hope that helped a little or made some sense, but that's really a general explanation. I would try and google some stuff on scrolling or tilebased maps. That might help more as there is a lot more to be said to cover everything