One way to make a system so incomprehensible that your customers absolutely need support is to make it configurable in a million different ways, and make the configuration invisible / opaque.
Example:
"Why is this program doing this when I told it to do that?"
Answer: Because this file in that directory configure service A to do X, and this other file in that other directory configures the program to behave like Y if it detects that service A is doing X.
But the program does not tell you that via its UI; you have to read obscure documentation.