This is based on their algo which is based off of your likes and dislikes. Have you noticed that after you dislike a song, they tend to play a song you liked before? They want to keep you happy. They do tend to play your artist (if you made the station based on an artist) about every 3-5 songs. That is usually because you will tend to like that artist's music, and because that is the main focus of the station.
Additionally, if you want more range, you can add songs or artists to a certain station to better define it for you. That way, adding a techno tune to a hard rock station may bring you something more in the middle to better refine your desires for that station.
Also, if you are having issues, make new stations. I made some for workouts, some for the kids, etc, and refined them based on those specific feature sets. I haven't had any issues with it. But the best thing you can do is add a new style to a station and give it a wider range of filters (as there is only one or two main sets to start from based on the original artist or album, further refined by your likes).
Also, if you don't like a song, literally tell it you are sick of that song. It will drop it from the playlist for a while.