Many users of HBase (including ourselves) use different, more efficient encoding of values into byte arrays than converting them to String's first, then byte arrays. For example, it's common to use protobuf to encode an object into a byte array for storage in HBase.
Rather than have 2 copies of all the api methods (one for people storing just Strings, and one for arbitrary byte arrays), it's simpler to have a single call and let the caller use the Bytes.toBytes method if they want to store a String.
That makes sense for the values, but the names of rows and columns are also passed as bytes. Wouldn't a convenience function that accepts strings, performs the Bytes.toBytes() conversion and calls the original method reduce code clutter?
Rather than have 2 copies of all the api methods (one for people storing just Strings, and one for arbitrary byte arrays), it's simpler to have a single call and let the caller use the Bytes.toBytes method if they want to store a String.