Every time someone says "Why should it be so hard to.." with software it's because they've not thought about the requirements. If you break down "a live grid of thumbnails" it's actually a relatively complex app even if you're just making an MVP. Even if you're prescriptive about things like the number of links in the list, the size of thumbnails, the layout of the thumbnails, the way the user manages what links they see, the regularity of updates, you're still left with an application that needs a basic list CRUD UI, a grid of thumbnails, something to render a screenshot of the website to a thumbnail, code to handle the site being unavailable or un-rendererable, a backend to store the list data and thumbnail images, maybe something to check to see if the site has actually changed (which can be tricky if it loads content with JS). And that's before the user's ask for features like drag and drop grid reordering, update scheduling, etc.
That's not to suggest it'd take more than half a day to knock something together, but that's more down to the awesome ecosystem of software libraries than it being a simple project. To write an app from scratch in, say, C++ would be a huge project.
I would disagree. All of the problems that you mentioned, such as "the layout of the thumbnails", "the regularity of updates" and "something to render a screenshot of the website to a thumbnail" can already be solved and parameterized to such genericness to be sufficiently usable for this use-case and, I'd surmise, most others.
That's not to suggest it'd take more than half a day to knock something together, but that's more down to the awesome ecosystem of software libraries than it being a simple project. To write an app from scratch in, say, C++ would be a huge project.