I feel that the other posts answer what a Dependency Property is fairly well so I will address your question showing how to make a Dependency Property, hopefully that will help.
Are all properties in XAML dependency properties?
No, Dependency properties must be specified as such. See below...
public class MyDataGridControl : DataGrid
{
    public string SomeName
    {
        get { return (string)GetValue(SomeNameProperty); }
        set { SetValue(SomeNameProperty, value); }
    }
    public static readonly DependencyProperty SomeNameProperty = 
        DependencyProperty.Register(
            nameof(SomeName), typeof(string), typeof(MyDataGridControl),
            new PropertyMetadata(null));
}
In the example above, I have created a class that inherits from DataGrid to make my own DataGrid control. I have created the "normal property" SomeName. I then register SomeName as a Dependency Property. Notice that while SomeName is a "normal property", the getter and setter are referencing the SomeNameProperty Dependency Property.