So there is no point publishing an address that is doomed to be replaced, change of address stuff is painful enough when forced into it that planning from the start to be changing one's address is kind of stupid.
So one needs to first flag one's address as using these tags, before going ahead and publishing the address as anything people are to be using in day to day commerce/trading.
Destination tags may be used by any account regardless of the whether lsfRequireDestTag is set. The flag can be set and cleared at any time. Having this flag set means that the network will refused to deliver payments to the address if they lack a destination tag. This results in less payment bouncing for the destination account as the network can simply refused deliver and clients can refuse to submit payments lacking a destination tag.
However, the lsfRequireAuth flag requires the account have no items in its owner directory.
See: https://ripple.com/wiki/Transaction_Format#AccountSet_.283.29