I know that if an SQL query is not sorted by an Order By argument, it's not sorted at all. When running a query without an Order By, I'd expect to see the same results in a differing order.
However, the results are still returned in an order (i.e. there is a row 1, a row 2 and so on), just not a dependable one - so if they're not sorted, what determines (presumably on a case-by-case basis) the order in which rows are returned.
Specifically, my experience is with MySQL, but I'm curious about this from a theoretical point, rather than trying to solve a specific problem.
Edit: I always use an Order By if I actually want to order a query - this is just curiosity.