In short the Renderer.isVisible is based on frustum visibility hence the value will be true even if it is behind any other object.
One more thing you need to know is that this will still be true even if the object is outside the bounds of camera view frustum but shadow of it is visible inside the camera bounds.