It depends on your need.
From Form API Reference,
#ajax['callback'] and #ajax['path'] are mutually exclusive. 'callback' is easier to use and requires less code setup, but may not provide the
capabilities required for some functions. When you can, use
'callback'.
In simple words the function specified in #ajax['callback']
generates the content and #ajax['path']
controls the execution of that callback.
#ajax['path']
is defaults to system/ajax
which fetches the respective form from the cache and process it then calls the specified callback for fetching the new content.
However if you want alter this flow, instead of system/ajax
give your custom callback(But you will end-up with writing another AJAX system).
For example Views module uses its own path(
views/ajax
) instead of system/ajax. The reason is that Views doesn't want the cached form so its re-builds it again(However there is a issue going on with regards to this approach).
So just set the #ajax['callback']
alone to have AJAX Form.
callback
needs less code to setup?