OK, I got it now. CPLEX+Python is in any case different from Concert.
The CPLEX Python API is a direct wrapper around the CPLEX callable library. With this API modeling is matrix based. A variable is just a column index and a constraint is just a row index. The advantage is that you have more or less direct access to the C API and almost anything you can do in C you can also do with the Python API. The disadvantage is that you don't have object oriented modeling. Whether this is a problem or not depends on your preferences/skills/experience.
docplex is built on top of the CPLEX Python API. It provides object oriented modeling that is similar to Concert. Right now it does not support everything that the CPLEX Python API supports but depending on what you plan to do it may well be sufficient. The advantage is the object oriented modeling, the disadvantage is that it adds yet another wrapping layer and does not support everything from the Python API (the latter may not be a problem in your project).
Performance and stability: Usually you create your model one way or the other and eventually call some sort of solve() functions. At this point the Python code will trap into the native CPLEX code and the actual solve will happen in this native code. This is the same for C++ by the way. So the only point at which performance and stability depend on Python here is model building. I am not aware of any significant problems here for either of the two variants.
Limitation of functionalities: The CPLEX Python API gives access to almost everything from the callable library, i.e., almost everything you can do with CPLEX. Since docplex builds on this Python API it will in general not offer more functionality, more likely less.
One big difference between the two is logical constraints: The only logical constraint that the callable library supports is Concert's equivalent of IloIfThen() (these constraints are known as indicator constraints). The same is true for the CPLEX Python API. docplex instead supports things like logical AND and OR between constraints. It does this by transforming them to indicator constraints under the hood. So it does not offer more functionality here but merely more convenience.
#CPLEXOptimizers#DecisionOptimization