Basic mathematical/logical reasoning makes it clear that you need two eyes to have depth of vision. By seeing an object from two perspectives, our brain can calculate the distance of the object based on the angle from each eye to the object. However even when I close one eye, I am able to judge reasonably well the depth of objects. Furthermore when I look at a picture I can instantly (I tried to be as unbiased as I could about this) tell it was a picture. How are we able to do this?
Depth perception consists of what are called monocular cues and binocular cues. As you mention, binocular vision has a lot of advantages for depth perception, but it is not completely necessary.
Many animals, particularly those that don't need especially precise vision, have little to no binocular vision, opting instead for visual coverage in more directions by having eyes on the side of the head.
The Wikipedia page I linked at the beginning has a whole list of various monocular cues, but I will mention a few of them here as well that I think roughly outline the different "categories" of monocular cues.
Relative size is a simple one: you expect certain objects to be a certain size. You can use that information to approximate distance.
Motion parallax: moving relative to objects gives you more information. Nearby objects move very quickly across the eye when you move, far away objects do not.
Accommodation: when you focus on a nearby object, you can estimate the depth by how much the lens needs to be deformed to bring the object in focus. The brain gets a copy of that muscle signal that it can use to estimate distance for nearby objects.
Although monocular depth perception is actually quite good out in the natural world, it is possible to trick the system with sufficiently clever strategies, like many other types of optical illusions. The Ames room is one of these.