They are more or less the same thing really. I think people started using the term "keyword phrase" to be a little more specific, once the days of bidding on individual words became unfeasible and too expensive on their own.
While we are on the subject, there is another piece of terminology to keep in mind as well, the "search query". "Search Query" is the actual word(s) the user typed in when performing a search. Within the world of SEO, what is often referred to as a "keyword" is actually a "search query". On the Pay Per Click side of things, the distinction between the two is more important, since multiple search queries can drive traffic to an individual "keyword" that the advertiser is bidding on. With Pay Per Click platforms such as Google AdWords, advertisers can bid on specific "keywords" then in addition choose a "match type" for those keywords to specify how broad or specific of a reach they want those keywords to target search queries.
In other words, if I bid on the keyword "car muffler" and set it to Exact Match as my Match Type, then only people searching for that exact phrase in that exact order with no extra words will be eligible to see my ads. So, someone searching for "car mufflers online" wouldn't see my ad. However, if I change the match type to Broad Match, then other users searching for related search queries will also likely see my ad - searches such as "cheap car muffler" or "auto muffler".
Folks working in Pay Per Click look at both the Keywords they are bidding on, as well as the Search Queries being mapped to those keywords. They will often farm through the Search Queries for ideas for additional keywords they should be bidding on explicitly. Or perhaps, search queries they want to block and not show up for.