Well, all the GPU does is take the heavy lifting from the CPU for streaming. When transcoding to twitch, youtube etc your CPU "I believe" still needs to do the transcoding of the video feed.
Personally, I've use both. I tend to change from one to the other depending on the title I am playing. For example - DayZ is a pretty CPU intensive game, so I'll use my GPU to help out with the streaming.
Both CPU and GPU are fairly important. It's often not worth it to neglect one component at the expense of the other.
If you are using a software encoder (x264), then it will require plenty of CPU time/resources to do live encoding. If you are using a hardware encoder, these are reliant on whatever hardware they are attached to, which is usually a GPU. Newer generation products are more efficient and produce better quality per bitrate (and probably in general). In particular, NVENC on the NVIDIA 10-series GPUs is currently better than any Quick Sync (Intel) or AMF capable (AMD) product.
Additionally, OBS also requires some CPU resources to be running, just like any other app. The more sources you have, the more CPU it will require. Some sources require heavier CPU usage than others - browser sources (particularly animated overlays and things that simulate physics, like "bit cups"), GIFs, large looping videos, or image slideshows often contribute to most of the CPU usage in OBS.
OBS also requires some GPU resources to do its scene compositing and rendering. Games often will try to max out the GPU, so you generally have to set some limits on the games (like a frame rate limit) so that OBS can easily perform its work.
The break even between hardware encoders and software encoders is the x264 preset "veryfast", which produces about the same as the nvenc hardware encoder of 10xx Nvidia cards. That means, unless you have a CPU that can afford a "better" ("better" means better quality) preset than "veryfast", such as "faster" or "fast", it is better to use nvenc instead of x264. These better x264 presets use much more CPU power, and if you get "encoder overload" messages because of this, you're losing frames, and this makes your video way worse than it got better due to the preset.
Quicksync is not as good for streaming as nvenc, so if you have a CPU that is able to encode "veryfast" with x264 without encoder overload, this will get you the better quality.
Unfortunately, AMF/AMD is even a bit worse than Quicksync, so the same thing applies here.
But even without nvenc, don't hesitate to use a hardware encoder if you have a CPU that isn't able to keep up with encoding x264. Especially Laptops struggle with CPU power. Having no dropped frames and relieving the CPU from encoding work makes every stream way better than any better quality encoder preset. Prefer any hardware encoder if you must tune down x264 to the "ultrafast" preset, because that preset really produces even worse quality for streaming than any hardware encoder.