ftp always works great, if your goals are to provide your login credentials to anybody that's interested, to fill the ftp servers with warz, and to get tangled up with firewalls.
If not, then the usual trigger for ftp not working is a firewall. ftp requires the entire ephemeral port range be open, either on the server or on the client. ftp opens that second port in a way that most firewalls will reject; either the firewall at the server, or the firewall at the client. (FWIW, ftp predates network firewalls, and is is actually older than IP itself.)
Easiest way to get ftp to work is to remove all network security. That's usually a non-starter of course, so that then means connecting to the server via a VPN. If there's no VPN, then you'll want a firewall that can sniff the ftp traffic and open the port range as appropriate. If your firewall can't do that, then you'll need to open the emphernal port range at the client or the server firewall. (You'll need to forward the ephemeral port range through any NAT, too.)
If you're just interested in transferring files and don't want to broadcast your login credentials in cleartext, then please consider enabling and using sftp, as that works with just one port (TCP 22) passed through the firewall and port-forwarded through any NAT, and with none of the support for exposing your passwords.