It depends what you want to stream. If you are going to stream your PC gameplay you don't really need hardware, just software - and a PC capable of handling both the game and processing the stream.
The better option used by most large streamers is a dual PC setup, where you have a gaming PC to play on and a streaming PC that has a capture card that takes input from the gaming PC and handles the stream side of things.
Some consoles also have streaming capability build in. You can stream directly from your Xbox to Twitch for example. Now if you want to have a face cam, overlay and all that stuff you would need a streaming PC with capture card to feed the console input and run the stream from the PC.
Most would say if you just want to get into it for the heck of it to go with the simplest setup and treat it as a hobby. Don't drop a lot of money on a huge setup given the limited few that are able to turn a profit from streaming. If the goal is to move to that kind of setup, start simple and build up reinvesting anything you do make overtime into a bigger setup. For those that can afford it and just want to build a streaming rig for the hell of it and have the cash then go for it.
On the software most use the original OBS or the newer StreamLabs OBS (less feature rich, but easier to use as I understand it)