There are several icmp4 functions that can give you very detailed feedback to compare the state of your workspace vs. the state of the data in the server
Here are a few interesting examples:
icmp4 unmanaged - returns the list of files in the workspace that aren’t in the server
Why run this? Get a list of files in your workspace that have never been checked in.
icmp4 opened - returns the list of files in the workspace that opened for edit in the workspace. With -a you can see files opened in ALL workspaces.
Why? See what work hasn't been checked in yet.
icmp4 sync -n - shows what files in the workspace that are out of date and would be updated with an actual icmp4 sync command
Why? To see which files in my workspace are out of date.
icmp4 diff -sa, -sr - shows difference between an opened file in w/s and file in server (if any)
Why? To see if my local files have been modified compared to what is in the server. This could happen if a file has been copied over, changed without doing a submit, etc.
icmp4 reconcile -n - this basically shows all add or delete differences between the workspace and the server
Why? A superset of each of the above functions - will take a bit longer to run.
Also - most of these commands have options to take action based on the current state - icmp4 help <command> will give you more info