I think there's an obvious disconnect between when/where the app pulls data vs the store on the players and the website. There are many discrepancies between them, very easy when you look at trailer availability. Not sure why a trailer would be available to watch on the iPhone app but not on the player, and other times vice versa.
The mobile app and the web store access the identical API on the store headend. The OSD, because it caches a lot of data locally, does some things differently.
The difference you've seen with trailers is because we have historically limited trailers shown in the OSD to ones that have been checked for quality. These trailers come from a third-party service, and some of them are very high quality, while others (usually for older movies) are at a lower quality that looks okay on a small screen like a phone or tablet, but doesn't hold up very well on larger screens.
Also, some trailers that you see in the OSD, for movies that you own, were actually delivered with the movie package. So there can be trailers in the OSD that aren't shown on the web or mobile, if that third-party service doesn't have a trailer for it.