Custom login/profile sections?
Its not at all difficult. Here's the example form from the docs:

https://craftcms.com/docs/templating/user-registration-form

&lt;form method="post" accept-charset="UTF-8"&gt;
    {{ getCsrfInput() }}
    &lt;input type="hidden" name="action" value="users/saveUser"&gt;
    &lt;input type="hidden" name="redirect" value=""&gt;

    {% macro errorList(errors) %}
        {% if errors %}
            &lt;ul class="errors"&gt;
                {% for error in errors %}
                    &lt;li&gt;{{ error }}&lt;/li&gt;
                {% endfor %}
            &lt;/ul&gt;
        {% endif %}
    {% endmacro %}

    {% from _self import errorList %}

    &lt;h3&gt;&lt;label for="username"&gt;Username&lt;/label&gt;&lt;/h3&gt;
    &lt;input id="username" type="text" name="username"
        {%- if account is defined %} value="{{ account.username }}"{% endif -%}&gt;

    {% if account is defined %}
        {{ errorList(account.getErrors('username')) }}
    {% endif %}

    &lt;h3&gt;&lt;label for="email"&gt;Email&lt;/label&gt;&lt;/h3&gt;
    &lt;input id="email" type="text" name="email"
        {%- if account is defined %} value="{{ account.email }}"{% endif %}&gt;

    {% if account is defined %}
        {{ errorList(account.getErrors('email')) }}
    {% endif %}

    &lt;h3&gt;&lt;label for="password"&gt;Password&lt;/label&gt;&lt;/h3&gt;
    &lt;input id="password" type="password" name="password"&gt;

    {% if account is defined %}
        {{ errorList(account.getErrors('password')) }}
    {% endif %}

    &lt;input type="submit" value="Register"&gt;
&lt;/form&gt;


And you can find a login form here: https://craftcms.com/docs/templating/user-profile-form

And a profile editing template here: 
https://craftcms.com/docs/templating/user-profile-form

Also remember that you can use all kinds of custom fields on your users