I'm not an expert in DirectX (I'm more XNA oriented), but I'll try to answer your questions from what I know.
Nirav Shah:
What is the interpretation for Feature Level?
Does it mean the subset of functionalities available with that level?
If you remember, in pre-DirectX 10 versions there was the concept of capabilities. This means that two DirectX-9 compliant cards might have had different features, and all of these were identifiable by checking the caps of the device. Since DirectX 10, this model has changed, and replaced with the concept of feature level.
If a card declared that it has Feature_Level_10_0, then it has all the functionalities specified by DX10, if it has Feature_Level_11_0, it has all the functionalities specified by DX11, and so on.
Nirav Shah: Hardware, Reference, WARP
I don't know what WARP means, but for the other two: Hardware means that the processing will happen on the hardware, if a hardware that suppports all features is available. Reference means that processing will be emulated in software by the driver. So even if you don't have a DirectX11 video card, you will be able to use DirectX11 features (though very slow), to see if your code works correctly.
Nirav Shah: D3D11Device, Hardware, Feature_Level_10_0
I would think this will create a D3D11Device, which will only expose the feature level of a Direct3D 10 video card, in order to simplify backwards compatibility of your code with older hardware. So even though you use the D3D11 API, you'll only be able to use D3D10 features, and your code will work without any problems when running on an older card.
Nirav Shah:D3D11Device, Hardware, Feature_Level_11_0
This will probably create a D3D11Device, which will expose the full features of Direct3D11, so you can take advantage of all new features.