Whenever I start Minecraft and want to play on a server they all say I cant because I need 1.6.4 but every time i try to use to the latest version it makes it snapshot 13w39b. I've already tried getting a new launcher several times and editing my profile to the latest version but it keeps saying the latest version is 13w39b!
You have an option checked in your profile that tells it to use snapshots:
Since 13w39b is more recent than the 1.6.4 release, the launcher will obey your instructions to use the latest version it knows about and run 13w39b.
To fix this for that profile, uncheck the Enable experimental development versions ("snapshots") option. That will make the launcher forget that snapshots exist, making 1.6.4 the latest version the launcher is aware of, and everything will be dandy.
Alternatively, you can flip the Use version option to say "release 1.6.4" – but then it won't update correctly when 1.7 releases, since it will faithfully refuse to launch any version other than exactly 1.6.4. You can just keep changing this manually every time Minecraft does a major update release, but "Use Latest Version" is clearly what you actually want, you just don't want snapshots to be included in that.