In my case with hyperas I noticed one of the distinct advantage over gridsearch, that is, gridsearch function takes only one array as input. My requirement was two be able to send two array as input as I am working with siamese network. I could do it with hyperas out of the box. So hyperas is more flexible than gridsearchcv. Check this example
The biggest difference is the scikit-learn version are meant to work with scikit-learn Estimator API. Other deep learning models might not be consistent with that API. If you try to instantiate the class, it will not work.
It is better to use the options designed for the ecosystem. When doing hyperparameter optimization in scikit-learn, use that packages options. When doing hyperparameter optimization in deep learning, use deep learning specific options.