Basically handling user input/dynamic content becomes a bit painful. Usually this is just a case of trying to extend Dash beyond what it was designed to do though.
Say for example, you have Model A on a server which has parameters X, Y and Z.
To load Model A in Dash is easy enough. To load its parameters as inputs with all those callbacks and imports becomes a bit messy. I've found react to just be better for that, at the end of the day.