OptiX™ is for RTX series graphic cards that include a ray trace (RT) core. For example, RTX 2080Ti.
Nvidia provides some API to let a program best use this GPU hardware for best results and also benefit from the original paper published in 2010. If your GPU is not Nvidia or it is not RTX (for example, GTX series), OptiX won't work. There is a Blender development blog post to explain it more.
And for OpenCL, it is for an AMD GPU to utilize the hardware since AMD doesn't support CUDA at all.
It is all listed in the user manual:
If the system has a compatible NVIDIA CUDA device, it will show up an option for rendering with Cycles.
If the system has a compatible AMD OpenCL device, it will show up an option for rendering with Cycles.