Remote action allows you to call the method from javascript yourself and retrieve the result as a javascript object for manipulation. these methods are static and global, hence don’t have access to your current controller variables and methods.@RemoteAction offers more flexibility. and it helps in reducing View State size and also provides you real-time transactions.