It can be caused by a number of things.
-Leaks in your map. When you compile your map, Hammer generates a compile log. After the compile is done, look trough the compile log and search for ****leaked**** (or better yet, copy-paste it in
http://www.interlopers.net/errors?page=errors¶ms= , which checks your compile log for you). When you have a leak, go to Hammer again, then go Map->Load Pointfile. If it asks you to load the default pointfile you have a leak. Click on yes, and a red line should appear somewhere in the map where the specific entity is leaking to the void (the blackness outside the map). Seal the leak with a normal brush (or extend an existing brush), don't delete the entity thinking that will solve it. If you do that, next time you compile another entity will leak to the same exact spot.
-No VVIS. Water needs the VVIS stage of the compile process in order for it to work.
-Areaportal brush that crosses the water. If you have a hallway with water in it, and you want to have an areaportal in it, you must cut it at the exact level the water bush is at, otherwise trippy things happen.