The reason is that the artist or their music label has likely decided to remove it from Spotify.
The availability of music on Spotify is up to the artist and their music label.
Spotify wants all the world's music, and they're working hard on making this happen for you. However sometimes agreements can't be reached with the artist or label or a change may happen in music ownership. Sometimes the music is only available in certain countries, while access is blocked to others. Sometimes the album or song will be unavailable temporary, and come back again later.
The songs/albums will still be shown in your playlists so you can keep track of them, but they will be greyed out and unplayable. Make sure to go in settings and check for the setting that shows unavailable songs.