Yes, it's a firewall problem if they can't join. The specific firewall(s) you're behind will determine if it's safe to disable them, and/or if you can disable them at all. Usually you're going to want/have to open the hosting port (port 6112, TCP by default) inbound in any firewalls your behind so that people can connect to you when you host a custom game.
If you're on a home network where you have a hardware router or PC running NAT, you need to "open" the hosting port by forwarding incoming traffic on it to the computer that wants to host Warcraft III games. If you have a hardware router, this is done by typing the router's IP address into your web browser's address bar to access its settings via a Web-based configuration utility. If you have a PC running Internet connection-sharing software, you need to do the port forwarding in the program's settings. The virtual "firewall" created by NAT is usually what trips people up when it comes to hosting Warcraft III games; usually someone is behind NAT and they don't know it and/or they don't know that NAT blocks all incoming connections on all ports unless you forward incoming traffic on a port to a computer that wants to run a server.
Note that there are some DSL modems that double as NAT routers; if you're connected to a DSL modem/router, you need to go into its settings and do the port forwarding. If you're connected to a hardware router AND a modem/router, you need to forward incoming traffic on port 6112, TCP to the hardware router in the modem/router's settings, and then you need to forward the port to your computer (the Warcraft III hosting computer) in the hardware router's settings. If you have a PC on your network running Internet connection-sharing software, you need to forward the port to that PC in the DSL modem/router's settings, and then you need to forward the port to the Warcraft III-hosting PC in the ICS settings.
If you're using Windows XP, you need to disable the built-in Internet Connection Firewall or configure it for hosting. If you have a software firewall installed and/or you're behind NAT, it's safe to disable the XP firewall. Otherwise (if you have a direct connection to the Internet and you're not behind any other firewalls), it would be best to leave the firewall on and configure it for hosting. Instructions for configuring the Windows XP firewall for hosting Warcraft III games can be found here:
http://www.blizzard.com/support/?id=msi0549p
If you have a software firewall installed such as ZoneAlarm or Norton Personal Firewall/Internet Security, you need to make sure it's configured to allow Warcraft III to listen for incoming connections on the hosting port. Most likely the software firewall automatically configured itself for Warcraft III if you got some prompts about the Warcraft III executable trying to "access the Internet" and you selected the option to allow Warcraft III to do whatever it wants to do.
The only other firewall I can think of that could be causing a problem is your ISP's firewall; it's possible that your ISP is blocking incoming traffic on port 6112, TCP for whatever reason. If your ISP is a college or university, don't be surprised if they're doing this. Call up your ISP and ask them if they're blocking incoming traffic on that port. If you attend a college or university, you'll need to contact your network administrator and ask him or her about the port.