... why does the client have a drop-down box to set a fee if the fee changes all the time?
The fee doesn't change all the time, the minimum fee has been reduced twice in the history of Bitcoin to keep it in parity with market valuation of currency.
The minimum fee is a mechanism to prevent frivolous transactions or network spam. If all transactions were free, it would be trivial to send many tiny transactions over and over simply to cause network disruption.
The inclusion of a transaction in the blockchain by miners, making them recognized and permanent, is based on many rules, but equivalent transactions are served in a first-come basis. You can encourage prompt blockchain inclusion by offering more in fees than other transactions, which is adjustable in your client. The Bitcoin software that miners use promotes priority inclusion of transactions when they include more than the minimum fee.