Although the mechanism of action is quite similar the common use-cases are different. A "classical" join is aimed to add further informations to an existing table and a keep-statement will keep both of the used tables and filter them in a certain way. A use-case for keep could be to filter a dimension-table (for example products) to the products from the sales fact-table.