Perhaps you should try designing a simple adventure game in the procedural style you're used to, then to try designing an identical game using an object orientated philosophy. This will give you an idea of the advantages of OO in a wider context.
OO is largely about common interfaces. Rooms, items and NPCs might all have "examine" functions. Rooms, NPCs and some other containers (such as chests) might have "add_item" functions.
You can also add unused functions to classes that act as "triggers" or events:
class Item:
def on_pickup(self, creature):
pass
class Creature:
def pickup(self, item):
self.inventory.append(item)
item.on_pickup(self)
class MundaneObject(Item):
pass
class AncientTreasure(Item):
def on_pickup(self, creature):
creature.send_message("The temple begins to collapse!")
If a creature happens to pick up the mundane object, nothing untoward will happen. But if a creature happens to take the ancient treasure, a custom message is displayed.