#ajax['path'] vs #ajax['callback']? ajax['path']
Description: This is the Drupal menu path for a callback function
which will generate HTML and return the string of HTML to Drupal. The
result will replace the div specified in #ajax['wrapper']. This
property is infrequently used in Drupal 7 and higher, because it is
set automatically if using the #ajax['callback'] property.

However, I can't still why #ajax['path'] function offers more than #ajax['callback'].
When should I use which one?
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.