The sender and receiver SDKs have mature APIs for playing video. The session and media channels/objects are well documented and leveraging them on your custom receiver ensures far easier integration on the senders (iOS, android, and web). If you venture out of the cast-a-single-video experience, it can get pretty complicated as there are best practices for how to handle multiple senders, how to fetch a playlist and continue autonomously if the sender disconnects without stopping the cast, and maintaining a good user experience on all senders that represents current state of receiver. You could (and would be advised to) handle all this via the provided "media" channel.
More to the point of the article, there is also a custom messaging channel, you can create your own interactive experience (the receiver is just a website displayed in a chrome tab). Here's an example of tic-tac-toe: https://github.com/googlecast/Cast-TicTacToe-chrome.
You can already develop a custom receiver for an in-store search feature or something more interactive and playful.
You can connect to it via the same wifi.
I don't understand what additional value nfc provides in this case as you'd still need to maintain an open/persistent connection to the receiver from the sender, would nfc be able to provide that?