Yes, used where appropriate. Hardware decoders are quite efficient and provide high image quality, which cannot be said about encoders. They sacrifice quality for speed.
If you have a powerful processor, software will always get you better quality encoding. However, if you have a more beefy GPU, and a less beefy CPU, GPU encoding can work fine especially for the streams where the bandwidth, frame rate, and overall quality is necessarily lower.