No contest. Hearts by a wide margin. No waste / no mess. Everything eats the hearts; finch, cardinals, woodpeckers, chickadees, juncos, doves, almost any bird that comes to a feeder will eat hearts. Only thing to be careful of is that hearts are available in 3 categories - whole, medium, and fine. The fine tend to coagulate and spoil quickly in damp weather, the medium seem to be the favorite of the majority of feeder birds. The whole tend to be more expensive. I feed hearts almost exclusively, except in winter when I subsidizes them with suet & peanuts.