Errors are not (always) shown in one-on-one chat.
When chatting, an incoming stanza error is not always shown to the user. This hides the fact that something is wrong.
An easy way to reproduce this is to start a chat with someone that's not on your roster, and does not exist: "Action" -> "Start a Chat" (using a non-existing JID), will cause a error to be returned to Spark (either the user or entire domain does not exist - some timeouts might need to occur before the error is generated). However, the Spark user is not notified of this error.