As in most cases it is a good choice to use the API with the higher level. For CQ and CRX API, CQ is the highlevel API since it is (partially) based on CRX API. In some cases CQ API eliminates some boilerplate code and/or adds some implicit handling.
WCM features are provided by CQ, so you should use CQ APIs. If you can clarify your question (and avoid the "etc" wildcard bucket which could mean anything), you might get a more accurate response.