What's the difference between these?

I am confused between these terms physically based rendering, real time rendering,ray tracing and ray casting?

Physically based rendering uses lighting calculations based off of real-world values, things like light intensity and material shading. Previously, values for lighting and colors were arbitrary and you just set it to what looks good, now you can use technically accurate settings.
Real time rendering means you get a fast image, like 30FPS. It can apply to the whole thing, or it can apply to specific things, like real time shadow rendering.
Ray tracing is a more accurate way of rendering shadows and reflections, but it takes a lot more time to render.
Ray casting is used in programming to trace a line and figure out where it goes and what it hits. A simple example is that if you have a mouse click it can trace the click position from the screen coordinates into the 3D world and figure out what 3D object is underneath.