Using that name is about 10 years old, but the model is much older.
The Sims is a good example of a game that uses it. Every actor has a bunch of motives. You can see about 6 of them like hunger, bladder, energy, and social. When the AI runs, it scans for a list of all the potential interactions. They range from things like "go to work", "play chess", "watch TV", "go to bed", "eat", "call a friend", and similar. Each one looks at the motives and sees how well they can satisfy it, generating a score. When you're not hungry, eating won't satisfy any motives so it gets a very low score. When you are hungry, eating gets a much higher score. When you are dying of starvation food gets an incredibly high score. Taking a shower is normally a very low score, unless your hygine is bad. But taking a shower also has a tremendously high score when you catch fire, since it will put the fire out. All the motives can have their utility score tabulated very rapidly, and the top items are considered by the AI for the next action.
More complex utilities can be developed in different games. In city building games, the utility of each building can have many different scores. It may have a score because of the direct effect, and it may have more score because of side effects. Sum them all together than that's the total utility. The choices with the highest utility should then be considered using additional criteria, such as the availability of resources.
As an approach, there are basically two: ask the object for a score, or ask how they change motives. In the first you can query the object giving it the list of your needs and than asking a score as a result. It can be a single function that takes a collection and returns a float. Or you can reverse it, asking every object what satisfaction it provides and it returns a collection, then use the resulting collection of motives to compute the score yourself. Which is better depends on your game's plans, if and how you intent do expand your game in the future, the design of your game, what you use for utility functions, and much more.