The type and initData parameters to createSession() are optional . The Clear Key section  says what initData should be but not whether it is required. This section should explicitly state that it is required or optional.
While there is no real reason to require it, it may make implementations easier if they can just return an error immediately rather than having to implement handle the case where initData is not provided. In addition, Clear Key is unlikely to be used in scenarios where initData may not be desired. The only real use case would seem to be to create a session without any knowledge of the media and then immediately call addKey() with a key, possibly without contacting a server.
See also bug 19810, which proposes requiring key IDs, which are related to initData, in the licenses provided to addKey().
To be most compatible, maybe the text should say initData is required for containers that support it.
As agreed in the the February 5th telecon, initData will be required for Clear Key.
This is moot if we decide that initData is always required (issue 20691).
Bug 20691 was resolved by making both createSession() parameters required. Thus, this is no longer an issue.