SharePoint Online suits my company no doubt. At the same time, I see that certain scenarios won't land well in SharePoint Online. It's a complex question "when to use the cloud". And usually, I ask money to answer it.
What I can do for free here is to share with you few discoveries while using SharePoint Online. I hope these discoveries will help you to form your view if your current on-prem environment can be moved to the cloud.
1. You can't get log from the SharePoint Online.
As of 5/13/2014 , the SPOnline PowerShell cmdlt Get-SPOTenantLogEntry "For Beta 2, the only company logs available are for Business Connectivity Services (BCS)."
No workaround here.
2. Windows PowerShell cmdlets for SharePoint Online have limited command sets. For example, you can't Get-SPWeb the way you used to get on prem.
The Windows PowerShell Command Builder tool helps you quickly understand and use Windows PowerShell cmdlets for SharePoint Online
Workaround: use community tools such as Lapointe.SharePointOnline.PowerShell.msi
Workaround: use Site Mailbox if applicable.
Workaround: Provider-hosted SP App (example from Office App Model Samples)
5. You can't sync docs from App web lib (the library that resides withing SP App)
Workaround: place library in Host web, assign appropriate permissions for App to access the docs there.
P.S. I didn't cover the obvious limitations such as:
- no farm solutions, that means - no server-side coding, no timer jobs;
- others that described in SharePoint Online Service Description