Transaction fees for transfering BITCOINS -- WTF
I have been testing transfering BITCOINS from web based to my wallet client. However I have noticed that if I try to transfer from my wallet client to a web based site the local wallet client prompts me for a "Transaction fees"
WTF... i understood the concept behind BITCOIN was FREE.
CAN someone explain on a BASIC LEVEL... i do not need buzz words in the explain. why a fee

#1 Paying Miners once the 21million "seed" coins have been generated.
#2 Preventing a Denial of Service attack: where someone would flood the bitcoin network with tons of "junk" transactions, using up tons of CPU resources and bandwidth.