DFA is an ad server which is used to track impressions and clicks for your creatives. You can’t buy inventory through DFA. You can only track the performance of your campaigns. Main functions of DFA is trafficking and reporting.
DBM is a DSP where you buy inventory through AdExchanges in real time.
There are lots of advantages if you use DFA as your ad server and DBM as your DSP.
AdWords is a tool though which you can advertise your text ads on Google search page and other sites in their network, you can also run display ad campaigns through AdWords.
Considering the list of product choices you gave in the question. You have only two options either you should go for AdWords or DBM.
If you want to buy inventory in real-time you should go for DBM.
DFA is used by only top agencies for their Branding Campaigns for big clients,
DFA generally refers to a Tracking product for Display campaigns,
Just like Google Analytics tracks Websites visitors, DFA record impressions, Clicks and various other metrics for banner advertising,
Adwords mainly refers to Text ads or PPC ads from Google Search Partners,
In this too they provide an option for Banner Advertising in Adsense sites,