This mostly comes down to your use case. A capture card will take an input (USB, HDMI or SDI most commonly) and deliver the raw or sometimes lightly compressed video to a computer where you can edit it, record it or even stream it. A hardware encoder however will take the video input and then convert that into a format designed for streaming without you needing a computer. Both can be useful but if you want to eliminate the need for a computer, an encoder might be useful for you!