retain is the remainder of the days before the ARC when you increased / decreased retain count objects depending on whether you want it to hang in memory.
Obviously, with ARC, you no longer need to worry about this, and I suspect that retain can just be left for ease of use for more experienced objective-c programmers there.
The keywords most common with the arc are: (strong, weak, nonatomic, readonly, copy) .
source share