I think the two terms are used in somewhat the same context, but I think the difference is in how it is actually mixed when applied. Gunnite is the older of the two, and it is applied using a premixed cement and damp aggregate that has water added as it leaves the nozzle. Shotcrete is already mixed with water, and additional air is added as it leaves the nozzle. ACI 506R, "Guide to Shotcrete".
As far as which is better, I believe shotcrete is the more modern choice as it can be used to repair structural concrete or serve as a structural component in a tunnel lining, for example.