It wasn't mentioned in the article, but, it is very important to note: CAGradientLayer is not GPU-backed.
In other words, the comparison is between the CPU redrawing a gradient 60x a second, and, an image being moved around on screen. Not entirely surprising that the one that does less rendering is going to be faster.