DirectX for big projects, because if used correctly your result will be light years ahead of OpenGL. DirectX also has a lot of things that you cannot find in OpenGL, which will spare you resources and development time. DirectX is more technically advanced and build generally more professional. Seen any big publishers use OpenGL or anyone use OpenGL for professional applications(with a few exceptions obviously for cross platform applications)
The only thing you sacrifice is cross-platform if you use DirectX. But I wouldn't recommend DirectX for small projects because it's usually harder to get started with it, and a much more complicated introduction for 3D programming because there's a lot things you have to constantly consider.
EDIT: DirectX is however documented a million times better.