A limitation with character terminals is you need the remote end to be real-responsive at all times and that latency is a real killer.
With a 3270 if the mainframe takes a second to give you the next form, that's not a UX problem at all. If your character terminal takes a second per keypress, that's very painful and l a g g y.
But character terminals were much cheaper, worse is better, so it won out.