Just as with humans, excessive body fat comes from too much food and not enough exercise. Many cats are fed "free choice", meaning that there is always food available whenever they want it. (The humans just keep the food bowl full all the time.) For an indoor cat with not a lot of reason to run around, this is a pretty sure recipe for excessive weight.
Instead, you should feed your cat controlled portions. Probably the best way to put your cat on a diet is to figure out how much your cat is eating today, and then give that same amount to the cat but reduce it by 5% for awhile. Weigh your cat. (Easiest way to do that is to weigh yourself, and then weigh yourself holding the cat and then subtract the two numbers to get the cat's weight.)