Admittedly the terms are a bit confusing;but these terms have the same meaning:
Consumer key = Customer key = Api key
Consumer secret = Customer secret = Api secret key
In general, tokens above and Bearer token represent the user that you are making the request on behalf of.
Access token and Access secret - they are Username and Password for your App.
And their usage:
Consumer key, Consumer secret, Access token, Access Secret (or only Access token and Access Secret depending on language and libraries you are using) - these are needed if your software make request to endpoints with POST method, that is if it tweets, replies to a tweet and etc.
If the software make request to endpoints with GET method then authenticating with Bearer Token is enough. Another use of Bearer Token is with Twitter API v2, which only accepts Bearer Token authentication if try to make requests to endpoints of this api.
For more detailed information Getting Access to Twitter API