Sitecore has a number of ways to reference an item. Most common are ID and path, and most methods will accept either System.String or Sitecore.Data.ID parameter.
Item item = Context.Database.GetItem("/sitecore/content/somepath");
Item item = Context.Database.GetITem(ID.Parse("{11111111-1111-1111-1111111111111111"});
Our internal convention is that the ID can be used instead of path. You can supply the id as a string to methods that expect a path:
Item item = Context.Database.GetItem("{11111111-1111-1111-1111111111111111"}");
However you have to remember that neither path nor ID identify a piece of content in a unique way. Because Sitecore supports versions and multiple languages, a single item can have 3 versions in English and 2 in Danish. If you only use path or ID when retrieving items, you will get the latest version in the current (Sitecore.Context.Language) language.
Sometimes you need to be specific, so the GetItem() methods have overloads allowing to specify language and version:
Item item = Context.Database.GetItem("/some/path", Language.Parse("en"), Version.Parse(2));
Items can also come from different databases. Notice that I have been using the context database in the above examples, which depends on the current site and Sitecore configuration.
To identify an item, or rather a version, in a unique way, Sitecore has an ItemUri class. ItemUri is an ID or path, language, version and database name bundled together, as well as a number of convenience methods. This is how it looks like:
// get the item URI
ItemUri uri = Context.Item.Uri;
// string representation
string uriString = uri.ToString() -> "sitecore://master/{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}?lang=en&ver=1"
// parsing a string
uri = ItemUri.Parse(uriString);
// get an item by URI. Static Database.GetItem method can be used because URI includes database name.
Item item = Database.GetItem(uri);
There is a reason why paths or IDs remain most common ways to reference an item - usually it is a good thing that code adapts to current context and configuration. For some less typical Sitecore tasks, URIs can be handy.