It’s a great shame that Oracle Corp. decided to use the name “hints” for its optimizer directive mechanism. “Hints” are not hints, they are interception points in the optimizer code path, and must be obeyed.
Why do people think that Oracle “ignores” hints ? There are two main reasons. First, the available hints are not properly documented. Second, the hints are rarely used properly – because they are not documented properly. (And third, there are a few bugs that make things go really wrong anyway).