Does gst-launch have deficiencies? Should I use it in product or not?

The documentation below mentions that gst-launch is intended as a debugging tool, and should not be used in an application.

https://gstreamer.freedesktop.org/documentation/tools/gst-launch.html

Can anyone elaborate on why?

It seems to me that if gst-launch is able to launch pipelines that meet my requirements and is well tested (by the community), I should be able to use it in command line form (perhaps as an action triggered by a Udev rule).

I think it should be perfectly fine provided you add -f/--no-fault. Looking at the source it’s otherwise completely identical to a mini-app based around gst_parse_launch().