A port isn't open if something isn't listening for a connection on it. I am not sure what type of firewall you are using. Is this a virtual firewall? software? Hardware appliance?
The reason it is bad form to have ports open is that it exposes those services that are listening on those ports to exploits. That is why firewalls exist, to limit what is allowed to connect to certain ports, to reduce the surface area exposed by services.
If you have an open port, you are safe provided the program processing the incoming stuff has no available exploits. But exploits are found all the time, and it's good to know that there are a lot of port scans travelling around the net, looking for targets.
Closed ports still respond to the akser, so possible attacker knows to proceed checking other ports. Then again, this is how the internet is specified to work. While stealth ports attempt to not give the potential attacker any information, in theory they break the specification.
From a security point of view, any open port is a huge gaping hole, since code is being used to process foreign data. What a firewall (or a NAT router) does is make sure no incoming traffic gets to your computer, even if the system has some open ports. This way, they effectively close all ports.