“Title” column could be very annoying and confusing esp. if you don’t have any Text based columns in your List (you cannot change datatype of this column) or else while updating lists programmatically. Let’s say you renamed “Title” Column to “Employee Name” (using list settings web interface) but when you try updating this column value programmtically you need to acces the column using its Original Name (”Title”) and not with its Display Name (”Employee Name”). Changing column name through List Settings Page will only update “Display Name” property of the Field.
listItem["Title"] = “Employee Name”;
There is no way to Hide or Delete “Title” Column from List Settings User Interface. You can hide it by deselecting this column in your View but then you cannot edit the item as you wouldn’t have any Column linked to edit menu.
The only way to hide the “Title” Column is by writing a Custom List Definition, remember every Custom List MUST have this column as this is included in the Global ONET.xml (for Type “0″ List).
The best way to hide this column is to include below fields in your List Definition.
<Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" ReadOnly="TRUE" Required="FALSE" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Title">
</Field>
<Field ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" Name="LinkTitle" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitle">
</Field>
<Field ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" Name="LinkTitleNoMenu" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitleNoMenu">
</Field>
Remember by doing so you have to implement Edit Menu for one of your required fields for users to be able to edit a List item.

