If your operator has a CDP/IoT Platform (such as Nokia Impact, Huawei Ocean Connect) it can is advantageous to use the NMGR/NMGS messages, because everything is already setup and you can start quickly, which is always nice. Also, depending on the use-case, these platforms may have useful functionalities or data.
Some issues that could make this not so attractive or feasible might be:
your operator does not have such a platform or you plan to use/sell your product in markets where no operator has such a platform
your operator has such a platform, but charges extra for it and you don’t want to pay
you want to be able to use modules with chipsets that do not have these AT commands
Unfortunately, using the UCOAPC commands you mentioned doesn’t solve point 3 either. It seems there are even less modules with AT commands for CoAP (ex. the newer u-blox T410 doesn’t have this command). Also, after trying the UCOAPC commands I found that it does not deal well (“well” as in “according to RFC7252”) with the multipart paths and queries (eg. the path “rooms/421/light” consists of 3 parts and the query “?device=sensor&id=1234&key=5678” also consists of 3 parts).
If anyone knows how to do this with the N211, or if a this becomes possible with a new FW, please let me know.
Until now it has been our experience that all these higher level commands (NMGS, UCOAPC, QLWULDATA, UMQTTC etc) seem very appealing at first, and then there is some downside. Right now we are “back to basics” and prefer to use UDP or raw IP and then build whatever we need on top of that.