Think of it this way. Imagine that all the data was stored in terms of single digit integers.
If you have a recurring string of numbers alternating between 1 and 7 that was 1000 digits long and you wanted to send this to your friend. You could either send the 1000 digit long string. Alternatively you could tell your friend that x@y means that the string x (in this case 17) is repeated y (in this case 500) times, so you could just send him 17@500. Now this is predicated on the notion that both you and your friend know this code and you would therefore only have to send 6 characters to him instead of 1000. However if you were to send him a random string 1000 digits long and this string did not have any repeats you could not use your code and would have to send him the data uncompressed. The negative of having this code is 1. both you and your friend need to know the code 2. it takes some amount of processing by both parties to relay the message.
The same thing is happening but to a far more complicated scale with the FLAC codec. WAV is basically sending the data without truncating any of it while FLAC attempts to shorten the data as much as possible. The reason some files come out a lower bitrate is because the sound can be expressed in more simple terms (I don't want to say compressed because it brings up different connotations). You are trading processing power (which computers these days have plenty of as far as audio codecs are concerned) for a shorter message, but the message is the same regardless of how you sent it.
Therefore dead silence is obviously very easy to compress while something that has a lot of dynamic range and a lot of nonlinear sounds will be quite difficult.