Looks like the major constraint is sprite inventory. There's only ever one other object on screen besides Sonic/Zippy. This covers enemies, springs, powerups, rings (which are done with a hardware register that repeats copies of a sprite.) So the levels look and feel really sparse.
The 2600 has only two hardware sprites, so that's not unexpected. To get more on screen, you have to reposition a hardware sprite in the middle of each TV frame while the electron beam is drawing it. The 2600 literally uses the phosphor on the TV screen as the frame buffer. So the 2600 can draw many sprites that march in vertical lockstep (Space Invaders, River Raid) but it's hard-to-impossible to draw sprites with full freedom of movement (famously Pac-man's flickery ghosts, which are each drawn only once every four frames.) It's possible with smart sharing algorithms - do reposition and reuse a sprite whenever it's possible, otherwise flicker when you must when sprites overlap. But doing that along with the fairly complicated playfield manipulation will run out of cycles very quickly. You only get 76 machine cycles per scanline -- just 20-some instructions in 6502 assembly.