Grid computing connects storage and data, as well as CPUs from multiple systems, into a centrally managed but flexible computing environment. True grid provides distributed resource management of heterogeneous systems in which you can quickly add and subtract systems—without regard for location, operating system or normal purpose—as needs dictate.
Utility computing is one of a variety of marketing phrases (others include autonomous computing, computing-on-demand, adaptive enterprise) applied to business models that let customers retrieve computing resources as necessary. Grid is the underlying technology for all of these models.
Clustering simply refers to collections of computers in a fixed configuration designed to operate and be managed as a single, high-performance machine. Unlike grid, computers cannot enter and leave the pool as necessary—once in, they’re in for good.