At work, my project is purely C++. But if I have to write a tool for data analysis or to test a subsystem, I'll use C# so I improve my .NET skills. Before,I used Python for that, but C# became more appealing.
Same thing at home. Web projects (of which there are few!) use PHP, everything else is C/Assembly (I do a lot of microcontroller stuff) or C# front ends using Visual Studio Express.
If you understand the differences between the OO concepts in Java, Ruby and Python, then you'll find it easy enough to pick up the surface layer (the syntax) of the languages.
If you're in a java shop and learning Python, have a look at jython and see where you can use it for testing, automation, etc. Even if only for your own local scripts.
1. I learn it "enough" to know what it's good at, what it's bad at, and to have enough hand-written code to pick it back up pretty quickly (particularly if you set up a test-driven learning environment)
2. Even when I forget the language's particulars, it changes the way I see other programming languages. For instance, while I don't use Ruby in my day job yet, I still think of things I can do with method_missing and how I might approximate that same power and flexibility in my work where appropriate. In short, learning languages helps me program "into a language" rather than "in a language", to borrow Steve McConnell's terminology.