I don't know much about Hazelcast, but it seems to just be a group of distributed versions of constructs used for managing threads. That's the key difference. Akka abstracts thread management for you with an Actor model, which imo is much much easier to use.