Why is my bathroom fan completely ineffective?
Various things to check:


Is there a way for air to ENTER the bath? A fan will expel air, but only when there is makeup air to replace it. Make sure there is a sufficient gap under the bathroom door. (An easy way to test this issue is to run the fan with and without the door open and see if there is a difference)
as others have stated, make sure the fan is clean. 
as others have stated, check the flexible vent pipe
consider replacing the flexible vent pipe. Flexible pipes aren't very efficient in that they add a lot of resistance to the airflow and also snag lots more debris. Consider replacing with rigid vents. 
as others have stated, make sure the vent on the outside isn't clogged (e.g. bird nest in pipe).
consider a larger fan. It could be that the fan is simply under-powered for the size of the room and length of the vent pipe.