Spawns at "spawn points" have differing frequencies by spawn point, but can be as frequent as every hour or as infrequent as daily. Spawn points will tend to have the same frequency, though, for the two week period until they're reset; for example, one near my house a few months ago had an every-two-hours spawn of Growlithes at one spot and an every-three-hours spawn at another nearby (meaning every six hours there were two next to each other). Spawns of non-commons that reappear more frequently than hourly are likely multiple spawns or cluster spawns (i.e., you're not seeing just one Pokémon spawn every 15 minutes, you're seeing four of them spawn on hour rotations).
Further, spawns that you do not catch will come back with some frequency across an hour period. This again differs by spawn; they have various patterns, but you can visualize it like so. If the hour is split into 15 minute periods denoted by letters ABCD, then some pokémon will appear as AC, for example, meaning they will appear for 15 minutes, disappear if you don't catch them, then 15 minutes later reappear. This will look like a 'new' pokémon, but it's actually the same one, and someone who already caught it will not be able to catch it.
The hourly mechanic is well explained in this PokemonGoHub guide to spawn points, although it oversimplifies some (as not all spawns are once per hour).