How do I use shape keys and bones for a Facial Rig?
This is a fairly broad question, So I'll just outline the overall workflow and the reasoning. I also assume you are already familiar with basic rigging concepts including bones, shapekeys, drivers, constraints and weight painting.

Firstly you need to understand the pros and cons of bones vs shapekeys:


Bones generally create better intermediate shapes as they generate a curved path for the vertices to follow and the maths for blending between each other is already built in. However, they are much trickier to create very specific shapes as you have limited control of how a bone moves vertices.
Shape keys can create any shape that you can model, but you have to manually specify how to combine them using drivers, and the vertices move in a linear path between the basis and the shape, so intermediate poses can look often odd (although sometimes this is desirable).


In general you want to create a rig to support your basic movement with bones, and then use shapekeys to correct the pose in various positions. These shapekeys should then be controlled using drivers based on the bones positions.

To create a bone rig for a face you will probably want to add the following:


A bone to control the jaw motion, this can be a simple bone that you rotate to open and close the jaw, or a much more sophisticated setup as you become more advanced
A bone for each eye to control the direction that they are looking. These bones should pivot around the center point of the eyeball. The damped track constraint can be used on these with a target object or bone to give a controller that you can drag around as the position of the eyes' focus
Bones for each eyelid that rotate around the pivot of the eye bones. These allow the eyelids to follow a curved path so that they don't clip through the eye.
Various bones simulating facial muscles using the stretch to constraint to provide volume effects. These can either point to controller bones and/or be parented to other bones to allow posing and accurate movements. Making these bendy bones can get better curving effects like real muscles. Setting these up is fiddly, so I suggest you look at some other facial rigs for examples.
A chain of a few bones to control the tongue.


For shape keys you will probably want at least the following:


Corrective shapes for the eyelids opening and closing, as just bones generally won't give quite the right shape at the extreme poses
(corrective) shapes for mouth expressions and phonemes. The number and setup of these will depend on what you have done with face muscle bones previously, and it is possible to do these poses with only shapekeys and no bones if you wish.
(corrective) shapes for eye and brow expressions. The number and setup of these will depend on what you have done with face muscle bones previously, and it is possible to do these poses with only shapekeys and no bones if you wish.


There is plenty more details about each step and small tips and tricks to achieve different effects, however they are all better off as their own specific questions.