How does one go about creating such a shot on, say, a smartphone?
There are apps for that, 360 panorama is good for iPhone
Default camera app in ICS has it. Can't remember if Gingerbread did or not, but it's not exactly an uncommon feature. I would imagine some implementations are better than others, of course.