RIA Services is a library of client and server components that bolt on to ADO.NET Data Services. When the full stack of RIA Services is used the difference between RIA Services and plain WCF are as follow:
1.The client side data objects are generated using reflection at compile time based on the actual server side objects instead of a service contract. This allows RIA Services to provide a much richer client side object model by including any business rules and relationships between objects. However, this does mean that RIA Services gives up some flexibility compared to plain WCF. For example, the RIA Services serializaer does not currently support some data types which WCF would be able to handle.
2.RIA Services, like ADO.NET Data Services, supports serializing LINQ queries between the client and the server. This means that the client can create the LINQ query and have it run server side.
3.RIA Services, unlike plain ADO.NET Data Services, does not automatically generate CRUD at runtime. For people familiar with SQL Server, I describe ADO.NET Data Services as supporting regular triggers (aka query interceptors) while RIA Services requires INSTEAD OF triggers.