Affine transforms are linear intermediate transforms in one dimension higher than the source & target spaces. They're intuitively (rather than algebraically) non-linear because we move from 2d to 3d then back, or from 3d to 4d then back.
It can be helpful to think of the translation as a (linear) skew in the added extra dimension.