In both the cases, I am able to connect to X11.
- What's the difference?
- And is xhost +hostname permanent, even after the base terminal is closed?
Using ssh -X, you have a tunnel to the X server which is reasonably secure. Using xhost +, you do not have that secure connection.
The xhost + command changes the X server properties so that other connections will succeed where they did not before (including after you disconnect from the hosts which you enabled).
Further reading: