This will heavily depend on what your target product is.
ImGUI (with which I have experience) is not meant for game UI, but for editors and other utilities it is actually quite good and useful. I do use it in my game engine and haven't had any problems so far.
As for in game gui, that might heavily depend on what kind of UI you need/want. ImGUI is somewhat complex to style in any way you want - if you require your gui to be animated and have complex transitions, you will most likely have to build your own (this especially counts if you want to mix 2D and 3D elements in UI).
I do know that some games in the past used CEGUI maybe it is still in use. If your game is extremely gui heavy - you may want to use full windowing system like GTK+ (it can be rendered into render target and used in viewport).
Personally I've implemented logic for few basic elements like widget, container, button, checkbox, slider and label/text field - and it was more than enough for most of things. Although for editors I simply prefer ImGUI because it ends up being faster and supports a lot more things.