Introduction
Built-in attributes add extra information to your code. Obsolete warns when code is old. Serializable marks data that can be saved or sent.
You want to tell others not to use a method because it will be removed soon.
You need to save an object to a file or send it over the network.
You want to keep your code clean by marking old parts clearly.
You are working with data that must be transferred between programs.
You want to avoid mistakes by warning about outdated code.