Recent developments in logic programming are based on bilattices (algebras with two separate lattice structures). This paper provides characterizations and structural descriptions for bilattices using the algebraic concepts of superproduct and hyperidentity. The main structural description subsumes the many variants that have appeared in the literature.