Keyword driven will work based on abstraction of keywords in your classes. For simple example click, input, button, dropdown, radio button, check box etc are keywords and have to maintain individual functions in your class.
For maintain these most of them uses excel, csv.
Ex: BaseClass contains all the operations of key words like
public void input(String locatorType, String locatorValue) //here locator type would be of xpath, id, name, class, tag and respective value
Issues:- Today I want to go with signup and signin, Ok no probs. I prepared steps and ran successfully then tomorrow management want to execute only login functionality. How can we manage, can you rewrite the steps? Can i use any testing framework, may be ambiguity comes from excel input and testng!
So is it preferable? NO because it is easy to see but hard to manage!
Now Page Object Model:- It's not a framework, its a design pattern or methodology. Here if you use any testing framework(testng) its easy to maintain your methods/operations. We can use datadrivern that make sense.
So based on your project and need we have to maintain and prepare framework and stick with that framework.