Both Heartbleed and Cloudbleed were webserver bugs that returned sensitive data from buffers that they shouldn't have. That's the similarity (and why they're both called "bleed".)
One major difference is that Heartbleed was a fault in openssl, which is a library in use by millions of web servers. Fixing Heartbleed required each web server to be patched. Cloudbleed is a flaw in a proprietary web server, and only impacts Cloudflare hosted sites. Cloudflare owns all the servers impacted, and has patched them all.
Another difference is that Cloudbleed was fixed and patched quickly upon discovery, preventing attackers from studying the flaw in depth and figuring out possible ways to use the leaked data to further exploit the servers. Heartbleed was studied in detail over the long time it took to patch all the servers, and it was discovered that memory containing information regarding the private key could be stolen.
Yet another difference is that the data leaked by Cloudbleed was in the ordinary data stream returned by the web server, and the leaked data could linger in whatever search engines might have cached it. The data leaked by Heartbleed was only in response to a heartbeat request message, which is not normally requested or cached by search engines. (Thanks to @gowenfawr and @Krazor for pointing this out.)