Is XGBoost complete by itself for prod-strength machine learning? If not, with which other tools or libs is it typically combined, and how?
(I recently read a description of a stack that included ca 5 pieces, including XGBoost and Keras.)
Yes, it is a full-strength Machine Learning paradigm.
XGBoost is basically Extreme Gradient Boosting.
It only takes in numeric matrix data. So, you might want to convert your data such that it is compatible with XGBoost.
The wide range of parameters of the xgboost paradigm is what makes it so diverse. Boosting can be done on trees and linear models, and then more parameters can be defined depending on the model you have selected.
So, yes it is a complete paradigm in itself. But, when you want more than the limitations of xgboost like linear and tree models, then you can use the concept of ensembling.
In the case of ensembles, the tools/libraries which can be used depends on the data scientist who is conducting the experiment. It can be Keras or Theano or TensorFlow, or anything which he/she is comfortable with. (opinion-based)