In practice, a consumer may not always pick an optimal package. For example, it may require too much thought. [[Bounded rationality]] is a theory that explains this behaviour with [[satisficing]] - picking packages that are suboptimal but good enough.
To evaluate the utility of each bundle of goods requires time, knowledge, and attention. The number of bundle is extremely large (think of a supermarket) or even infinite. Thus, comparison in reality occurs only between a finite number of potential purchases (think to the process leading to choosing shoes).
Consumers, on the contrary, have developed skills, such as the capability of judging things, by parent's teaching, peer socialization, trial and error. They apply these skills, usually following simple rules of behaviours (e.g. buying a good that satisfy a need and whose price is below a certain maximum threshold).