What usually happens is that originally, there is a station named X (which may or may not be named after the city where it is located). At some point it is decided that the area needs a new station, and that the new station shall just be named "Shin-X", which should be understood as meaning "the new X".
Sometimes the reason why a new station is necessary is that a new Shinkansen line to the area is planned and it is determined that the existing station is not suitable to accomodate it. This is what happened in Shin-Osaka for example: the area around Osaka station did not have enough room for the necessary developments.
There can be many other reasons why a new station is needed, however. In the case of Shin-Sapporo, it was to serve a new urban development (which incidentally was also named Shin-Sapporo). An interesting one is Shin-Rifu (in Rifu town, near Sendai) which was established when the Tohoku Shinkansen started operating, not because the Shinkansen actually goes to this station, but to accomodate employees and visitors of the neighbouring Shinkansen rail yard. The Japanese wikipedia page of a station usually has a "History" section where some background information about its establishment is given.
And sometimes Shin is just part of the "actual" name of the station, as with Shintoku station (in Shintoku city, Hokkaido).