Good question. It’s because of the voting system. It is more accurate having 15 votes on Librewolf, than having those 15 votes spread across 5 different Librewolf topics, for example.
Even for rejected tools it is still useful for us to know how many people are interested in that tool being listed, so we want to keep the voting open even on rejected topics.
On the flip side, when a post is locked those votes are returned to the users (each person only has a certain number of votes they can use in the first place). We lock completed topics so that those people can go vote for something else.
It’s easiest to just think of every Site Development post as “something that needs to be changed on the website.” If a post is rejected nothing has changed by definition, so there is no need for separate follow-ups. If a post is completed then something has changed, so to later revert it would be a different change requiring its own discussion and therefore its own post.