You go for LoRa or NBIoT when you need the low power consumption, and especially for deep penetration. Generally, if you have a better option, you use it. LoRa and similar high latency networks can't easily run TCP due to the standard TCP timers (especially Ack timeouts).
What I would like to see is better support from the cloud providers for UDP based protocols such as MQTT-SN.
What I would like to see is better support from the cloud providers for UDP based protocols such as MQTT-SN.