The problem with the German code breaking operations is that there was no centralized code breaking agency, like the British had at Bletchley Park. They did have some successes though, most coming from the B-Dienst (a German naval code breaking agency). They broke British naval codes in the thirties and this was helpful for U-Boat warfare, the British were slow to react but, they eventually introduced new codes; that were again broke in 1942. Another group of codebreakers working for the German high command (OKW) deciphered the Allied diplomatic code and so could read encrypted messages sent by allied diplomats. The reason you don't hear too much about German codebreakers is because they simply weren't effective.
The Japanese on the other hand had two separate code breaking agencies, one for the Navy and Army, they would often compete because of the deep rivalry between the IJA and IJN. Most of the successes of the Japanese codebreakers came against the Chinese and the Soviets. They were able to decode the cipher used by the Americans in their B-29 bombing raids but besides that they weren't able to crack any major allied naval codes.
Source: German naval codebreakers by Jak Showell
Japanese Intelligence in World War II by Ken Kotani
I think this topic goes deeper than saying 'Oh they were good' or 'Oh, they were poor at it'.
After the fine people at Bletchley broke Enigma and started capturing and turning German spies who were parachuting into the UK, a lot of the information that was leaving the allies was disinformation specifically formulated to screw up the axis in Europe and Africa. The big problem was the ego issues and faith the Germans put into Enigma. They could not even entertain the idea that Enigma would be broken and so did not even consider the information coming to them was incorrect.
Volkman, Espionage: The Greatest Spy Operations of the 20th Century, 1995
Wheaton, James, The History of Spying 2010
Apparently, the US came across German code breakers who wanted to defect in the closing days of the war. The US had already begun to realize that they would need to start working even more on Soviet codes. The deal they struck was to hand over whatever they had on the Allies, and specifically, the Soviets. The Nazi code breakers were all too willing to take that deal. What they found was that the Germans were able to crack all of the US and British codes except for the highest level of codes. It specifically named the US Naval cyphers and the US Army cypers (as they were separate cyphers). The British cypher system was different, but the majority of the highest levels remained secure.
Source: Body of Secrets by James Bamford. I would highly suggest this book if you really are interested in code breaking and the history of US cryptography from WWI to pre-9/11.
In WWI and WWII the Americans utilized Native American's who were proficient in their languages as code talkers. Given the fact that these languages didn't really have the chance to spread too far out of the United States and that there were a relatively small number of people who were intimate with speaking them, it isn't surprising that the Germans and the Japanese had less success breaking the U.S. codes than they did with the rest of the Allies.
http://www.history.navy.mil/faqs/faq61-2.htm
In the link above it notes that Navajo is a complex unwritten language, one which was estimated to have less than 30 non-Navajo speakers (none of whom were Japanese).
edit: Just to be clear, it wasn't a straight translation from Navajo to English. They would say words in Navajo, translate to English, and then use the first letter of the English translation. Then these letters would be used to spell out the words that would compose the code. So even if the Japanese had somehow managed to get their hands on someone who spoke the language, they still would have had to crack the code.
First, a similar question was asked recently, and you may find some more information here.
One major issue with any cryptographic system is that however secure it was when it was designed, it will become less so with time. A critical problem is the need to send out materials to all that needed encrypted communications and to hope that all would take appropriate care. For maritime use, special measures were taken such as weighted bags, so the code books could be quickly disposed off before boarding. The Merchant Navy were not so good at that (neither were the Royal Navy at times).
See also: Battle of the Atlantic: Allied Communication Intelligence December 1942 - May 1945:NSA, Chapter 6: Compromise of Allied Codes and Ciphers by German Naval Communications Intelligence
One hesitates to use blog entries here , but this seems to be a particularly good overview of the British failures.
It should be noted that communications of Ultra information (Enigma and Lorenz decrypts) went through a special one-time-pad and used specially Bletchley Park trained liaison officers to show the decrypted information to the Ultra cleared person (typically, a commanding general) and to destroy it afterwards. This was never compromised.
Source: The Ultra Secret: FW Winterbotham.
Many other, lesser Allied codes were penetrated, either as a one-of or semi-regularly. The Germans though, lacked the coordination and the industrial-scale of the interception and breaking efforts of the Government Code and Cipher School at Bletchley and its outstations.
For example, this lists the German organisations responsible for interception and decryption of Allied signals:
There were interdepartmental rivalries preventing the sharing of information.