Caret "train" or special package
Caret is designed to:


  streamline the model training process for complex regression and classification problems. The package utilizes a number of R packages...


(https://cran.r-project.org/web/packages/caret/vignettes/caret.html)

Caret's train has two draws: a common API for many different models, and performing hyperparameter tuning by default.

Specifically, caret calls the xgboost package. It does some checking of your data before calling xgb; most notably, it uses that to select the objective function (which may cause some confusion). And it provides some hyperparameter distributions to search over (which you can modify if desired). However, it doesn't seem possible to search over the hyperparameters of xgboost that aren't built into the caret list of parameters.

So, it seems to me: use caret for a convenient wrapper and hyperparameter tuner, and use the original package for finer control.