I hate these analogies for classes and instances so much. It only makes sense in your head because you already understand how classes and instances work. To someone who doesn't, it's hard to connect it back to programming.
I'd prefer to just describe it as it is. An object (or instance) is just a container of various data fields and functions that have access to read/write to those fields and do whatever other logic you want. The class defines which fields and functions the object/instance you create from the class has. The class is defined using something like public class ThingWithData { and you create an object like var thing = new ThingWithData();
The purpose is to compartmentalize data and functions together for better organization for 1, but more importantly so that you can reason about your program easily - if you change the value of a variable that belongs to an object, you know that only the object has access to that variable (assuming it's private), so you have a limited number of things that can be affected/break by that code change you just made.
It's conceptually not super different from writing a program that is just functions that call each other, but with functions you can kind of only call function B from function A and save the return value of function B in a local variable in function A. If you substitute this with an object of class A instantiates an object of class B, you can just store instance B in a variable that belongs to instance A and retain all the stuff (data and functrions) inside of B that you can access from inside A at a later time. It's like instead of just being able to call 1 function you get this object that may contain many functions and data that you can all access separately and it's just provided to you in this convenient centralized bundle