Context
The ContextRecordID only applies to Add Data Forms. The idea behind this is that an Add Data Forms can have a well defined relationship to another entity. This is defined as the context record and there is a context record type associated with that.
For example a Constituent Address Add form would most likely have a context record type of "Constituent" and the ContextRecordID should be the ID of the Constituent record that will be tied to the new address record.
Edit Data Forms don't have a context record since the record should already exist (hence the edit). The same holds true for a View Data Form. There is no reason to specify a ContextRecordID when calling the DataFormLoadRequest on an Edit Data Form or a View Data Form and this value is simply ignored by the server-side code.
The RecordID is typically the primary key of the entity. For an Add Data Form it serves as a default ID. This allows the caller to specify the unique primary key of the entity that is going to be created. For Edit Data Forms and View Data Forms this key is typically the unique ID that is used when fetching the matching record in the database.