KeyFrames, DeltaFrames, KeepAlive
This documentation article explains how KeyFrames, DeltaFrames and KeepAlive correlate with each other when configured on a publisher or publisher data set.
KeyFrames and DeltaFrames
KeyFrames always contain the full data set whereas DeltaFrames only include incremental updates (fields that have changed). When configuring a Publisher data set, the KeyFrameCount specifies how often a KeyFrame should be published related to the publishing interval.

When set to "1", a KeyFrame is published in every Publisher cycle. When set to a value greater than "1", a KeyFrame is published every n cycles, otherwise a DeltaFrame is published. Please note that Delta-Frames are only published if there is a data change, which means that there may be times in which no Frames are published at all.
KeepAlive
The KeepAlive time, which is configured on a publisher, is used to send out frames if there are no data changes (and therefore delta frames) that are send out for a longer period of time. This ensures that any subscribers still know that the publisher is online. Please note that, when configuring the KeepAlive on a subscriber, that this also correlates with the MessageReceiveTimeout.