Spotify is great as long as you don't hit a bump with some sync problem. Oh, there's the issue of your premium account not getting activated (or recognized in mobile) but that's often just a server glitch.
If local files from your Mac or PC don't get synced with Spotify and instead, Spotify shows you ‘similar' tracks that you can download instead, that's going to be one big headache. This usually happens when you have music tracks with meta data that's way too similar to the ones Spotify has on its server.
Why does this happen? The issue crops up mostly when you've got fan-versions of a popular song, or remixes and other modifications that leave pretty much of the meta data intact. This makes Spotify think that you're trying to upload a song that's already up there and so, it prevents sync and offers to let you grab the cloud versions.
Too bad, eh. But there's a quick fix.
This is what you should try, if Spotify not syncing Local Files to iPhone:
(make sure you use the same account on Spotify for your Mac/PC as well as for your iPhone)
Step 1: First, connect both your PC/Mac and your iPhone to the same Wi-Fi network.
Step 2: Now, open Spotify on your PC/Mac and you should find your iDevice listed under the Devices tab on the sidebar.
Step 3: Create a new playlist from your system (on the device) and place one of the local files into this.
Step 4: Open Spotify on your iPhone and then select the newly created playlist
Step 5: Enable ‘Available Offline'
Step 6: You'll now see a progress icon right beneath the song you've got on the playlist. This will get the song from the cloud to your Spotify app.
Step 7: That's about it.
When you add more songs to this playlist, they get synced. Make sure you don't turn off the offline sync feature.
Note that there's a limit to the number of offline songs you can have on your device (each).