internal blocks are those which are processed as normal blocks, take part in the flow of text (eg. they can cross-reference or being cross-referenced, but they are not being delivered to the rendering backend. A post-processing extension can use these blocks to create/modify an image/table that is included somewhere else in the document.
This allows sophisticated layouts, text overlays, and sophisticated tables
A very similar idea is suggested in #1958 , but this model might exclude the need for a render:: macro