It's hard for our brain to comprehend that such a tiny gadget can sound so good, so I suspect that accounts for a lot of the perceived difference. Also, some music can sound better with a poorer output device by e.g. smearing noise in the treble or rolling off excessive bass.
The difference is not much. iPhone has slightly better highs and slightly tighter lows. The headphones I'm using is Sennheiser MM70i (They use the same buds with CX400-II, I also have these).
I didn't found the difference with "critical listening". One night I just started listening it, and it sounded different to my iPhone. Then I played the same song on the iPhone and found out the difference.
The difference maybe due to different generations of DACs, different OPAMPS, different power budget, different decoders, etc. As I said before, the difference is not that much, but normal for the evolution of these types of electronics. Nano honestly sounds impressive for a device that compact.
P.S.: I used to play euphonium in a large band and double bass in a symphony orchestra, so I have trained my ears for separation and tracking of instruments and rhythm. This is why I'm a bit more sensitive to these things than most of the people around.
Is this a real thing, or should I upgrade to a better brand of crack?