To generalize... on Windows D3D is more stable/reliable because it's largely implemented by one entity (Microsoft) with the rest implemented by the driver (nVidia/AMD/Intel/etc) according to a strict D3D driver specification from Microsoft.
On the other hand, GL is almost entierly implemented by the driver, and Khronos do not test implementations for compliance with the specification.
To be fair, you do find driver bugs occasionally in both D3D and GL, but in my experience GL has the worse reputation in this regard.
With features/extensions, sometimes one API provides more capabilities than the other, and it goes both ways. Intel in particular have often lagged behind with their GL driver support, with their D3D driver providing more capabilities than their GL driver... but there are also cases of the opposite.
In the D3D9 vs GL days, GL's CPU-side overheads tended to be slightly smaller... however, D3D10/11 are much more efficient than 9 in this regard, so I'd guess that they've closed this gap with GL, and probably even beaten it now, seeing as GL is much more complex due to backwards compatibility whereas D3D makes a clean break with each version, discarding old cruft. In any case, these performance differences should be very small (e.g. a millisecond per frame...).
There is one annoying case with GL that can cause poor performance -- many drivers when asked to perform a function that is not supported in hardware, will resort to CPU-emulation of that feature. For example, I added array indexing to a pixel shader once, but my GPU only supported this feature in vertex shaders, so my driver decided that instead of failing to draw anything, it would instead run my pixel shader in software emulation on the CPU, at 1 frame per second... GL has a lot more of these kinds of fast-path/slow-path pitfalls compared to D3D.