btcd 1.0 was released October 3, 2013. Why use it instead of bitcoind?
I'll try to answer this as unbiased as possible, but, as a disclaimer, I am the lead developer for btcd.
First, a small correction. The initial release is version 0.3.0-alpha (https://github.com/conformal/btcd/releases). It is not yet up to version 1.0 as we first want to get a ton of public testing from early adopters before claiming it is production ready. We fully understand the importance of avoid block chain forks and are making herculean efforts to do everything we can to prevent that from happening.
I'll provide a list of pros and cons that I can think of for btcd relative to bitcoind below, but one thing I'd like point out isn't specifically related to btcd or bitcoind, but rather the Bitcoin ecosystem as a whole.
Diversity is something the Bitcoin ecosystem is in dire need of. Diverse, inter-operating implementations make the Bitcoin network more robust against several things such as denial-of-service attacks, vulnerabilities, and individual application bugs. History has shown that for any protocol to thrive and gain wide-spread acceptance, multiple implementations on multiple devices is inevitably required. One prolific example is TCP/IP. TCP/IP would not be where it is today if only a single implementation existed.
[a] A full discussion of the advantages of separating the chain and wallet services would require an entire blog post, but a few examples are that it opens a lot of opportunities for lower powered hardware, offers better multi-user support, and results in less waste in small networks which can share the chain services.
[b] Some advantages we believe Go has over C++
[c] The main place the slower cryptography is noticeable is during the initial chain download after you get past the final checkpoint (currently around block height 250000).
as davec mentioned, btcd is written in go, and thus runs on any platform that go runs on. although not officially supported, go runs on plan 9, and so i run btcd on plan 9. proof: