My guess: Remote packages are useless because (afaik) you can't specify a revision. This means "go get" will get the latest HEAD, which could be anything.
Go needs something like Ruby's Bundler to let a package declare what versions are required and let you pin to specific versions.
If I desperately needed a specific version of a package, I'd fork the project and freeze it where appropriate.
Does the `go` tool need to be aware of versions? IMO, no. Would it be a nice feature if it could be added without making the tool difficult to use? Yes.
But so far, it hasn't appeared to slow anyone down. I've worked quite a bit with distribution tools for both Python and Haskell, and Go's tool is a breath of fresh air.
Go needs something like Ruby's Bundler to let a package declare what versions are required and let you pin to specific versions.